bench/lang: add bench_base
[nit.git] / c_src / compiling___compiling_icode._sep.c
index b9d8cd0..4f170d9 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module compiling___compiling_icode. */
 #include "compiling___compiling_icode._sep.h"
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register[] = "compiling_icode::I2CCompilerVisitor::register";
 val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -60,7 +61,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
     REGB0 = CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra.me.REG[1])(fra.me.REG[1]);
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
@@ -88,10 +89,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
     } else {
       REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[4])==(NIT_NULL));
         /* compiling/compiling_icode.nit:42 */
         REGB0 = REGB1;
@@ -159,7 +160,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           REGB0 = CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra.me.REG[1])(fra.me.REG[1]);
           REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
         } else {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB0 = REGB1;
         }
         if (UNTAG_Bool(REGB0)) {
@@ -253,6 +254,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers[] = "compiling_icode::I2CCompilerVisitor::registers";
 val_t compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -302,6 +304,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0, val
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number[] = "compiling_icode::I2CCompilerVisitor::new_number";
 val_t compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -319,7 +322,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0){
   /* compiling/compiling_icode.nit:81 */
   REGB0 = ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra.me.REG[0]);
   REGB1 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
   /* compiling/compiling_icode.nit:81 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra.me.REG[0]) = REGB1;
@@ -335,6 +338,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB1;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab[] = "compiling_icode::I2CCompilerVisitor::lab";
 val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -415,6 +419,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures[] = "compiling_icode::I2CCompilerVisitor::closures";
 val_t compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -438,6 +443,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes[] = "compiling_icode::I2CCompilerVisitor::clostypes";
 val_t compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -461,6 +467,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels[] = "compiling_icode::I2CCompilerVisitor::local_labels";
 val_t compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -484,6 +491,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq[] = "compiling_icode::I2CCompilerVisitor::local_labels=";
 void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -503,6 +511,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels[] = "compiling_icode::I2CCompilerVisitor::escaped_labels";
 val_t compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -526,6 +535,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq[] = "compiling_icode::I2CCompilerVisitor::escaped_labels=";
 void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -545,6 +555,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label[] = "compiling_icode::I2CCompilerVisitor::register_escape_label";
 val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -592,7 +603,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(v
     fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0]);
     REGB1 = CALL_standard___collection___abstract_collection___MapRead___length(fra.me.REG[2])(fra.me.REG[2]);
     REGB2 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
     /* compiling/compiling_icode.nit:117 */
     REGB1 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
@@ -610,6 +621,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(v
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label[] = "compiling_icode::I2CCompilerVisitor::add_label";
 void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -673,6 +685,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto[] = "compiling_icode::I2CCompilerVisitor::add_goto";
 void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -798,6 +811,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq[] = "compiling_icode::I2CCompilerVisitor::marks_to_seq";
 val_t compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -821,6 +835,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure[] = "compiling_icode::I2CCompilerVisitor::closure";
 val_t compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -844,6 +859,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq[] = "compiling_icode::I2CCompilerVisitor::closure=";
 void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -863,6 +879,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor[] = "compiling_icode::I2CCompilerVisitor::visitor";
 val_t compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -886,6 +903,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine[] = "compiling_icode::I2CCompilerVisitor::iroutine";
 val_t compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -909,6 +927,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label[] = "compiling_icode::I2CCompilerVisitor::return_label";
 val_t compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -926,6 +945,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq[] = "compiling_icode::I2CCompilerVisitor::return_label=";
 void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -945,6 +965,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl[] = "compiling_icode::I2CCompilerVisitor::add_decl";
 void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -965,6 +986,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr[] = "compiling_icode::I2CCompilerVisitor::new_instr";
 val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -996,7 +1018,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -1017,7 +1039,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
       register_static_object(&once_value_1);
     } else fra.me.REG[3] = once_value_1;
     fra.me.REG[3] = fra.me.REG[3];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
     /* compiling/compiling_icode.nit:172 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
@@ -1029,7 +1051,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
       nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 172);
     }
     fra.me.REG[3] = CALL_location___SourceFile___filename(fra.me.REG[3])(fra.me.REG[3]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
     /* compiling/compiling_icode.nit:173 */
     if (!once_value_2) {
       fra.me.REG[3] = BOX_NativeString(":");
@@ -1039,7 +1061,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
       register_static_object(&once_value_2);
     } else fra.me.REG[3] = once_value_2;
     fra.me.REG[3] = fra.me.REG[3];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
     /* compiling/compiling_icode.nit:174 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
@@ -1047,7 +1069,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     }
     REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
     fra.me.REG[2] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
     /* compiling/compiling_icode.nit:175 */
     if (!once_value_3) {
       fra.me.REG[2] = BOX_NativeString(" */\n");
@@ -1057,7 +1079,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
       register_static_object(&once_value_3);
     } else fra.me.REG[2] = once_value_3;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
     /* compiling/compiling_icode.nit:176 */
     ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra.me.REG[0]) = NIT_NULL;
   }
@@ -1070,6 +1092,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr[] = "compiling_icode::I2CCompilerVisitor::add_instr";
 void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1088,7 +1111,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0, val_
   fra.me.REG[1] = p1;
   /* compiling/compiling_icode.nit:184 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+  fra.me.REG[1] = CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   if (!once_value_1) {
     fra.me.REG[0] = BOX_NativeString("\n");
     REGB0 = TAG_Int(1);
@@ -1097,10 +1120,11 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0, val_
     register_static_object(&once_value_1);
   } else fra.me.REG[0] = once_value_1;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent[] = "compiling_icode::I2CCompilerVisitor::indent";
 void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1119,6 +1143,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent[] = "compiling_icode::I2CCompilerVisitor::unindent";
 void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1137,6 +1162,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment[] = "compiling_icode::I2CCompilerVisitor::add_assignment";
 void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -1159,6 +1185,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0,
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location[] = "compiling_icode::I2CCompilerVisitor::add_location";
 void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -1187,7 +1214,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
@@ -1195,14 +1222,14 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
     }
   }
   if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Bool(true);
+    REGB0 = TAG_Bool(1);
   } else {
     REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
       REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
       if (UNTAG_Bool(REGB2)) {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       } else {
         REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
@@ -1222,7 +1249,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -1246,7 +1273,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
     } else {
       REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
@@ -1254,7 +1281,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
       }
     }
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
@@ -1271,13 +1298,13 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
     REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
     if (UNTAG_Bool(REGB2)) {
     } else {
-      /* ../lib/standard/kernel.nit:227 */
+      /* ../lib/standard/kernel.nit:230 */
       REGB1 = TAG_Bool((REGB0)==(REGB1));
       /* compiling/compiling_icode.nit:212 */
       REGB2 = REGB1;
     }
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB2 = REGB1;
   }
   if (UNTAG_Bool(REGB2)) {
@@ -1291,6 +1318,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname[] = "compiling_icode::I2CCompilerVisitor::basecname";
 val_t compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1314,6 +1342,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init[] = "compiling_icode::I2CCompilerVisitor::init";
 void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_icode___I2CCompilerVisitor].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1344,6 +1373,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0, val_t p1,
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c[] = "compiling_icode::IRoutine::compile_signature_to_c";
 val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5){
   struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
   val_t REGB0;
@@ -1428,7 +1458,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
@@ -1443,16 +1473,16 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   REGB0 = TAG_Int(0);
   fra.me.REG[4] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
   REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[4])(fra.me.REG[4]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB2)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
       /* compiling/compiling_icode.nit:240 */
       REGB2 = REGB0;
@@ -1506,14 +1536,14 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
       fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label5;
     }
   }
@@ -1525,7 +1555,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
@@ -1552,16 +1582,16 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
       nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 246);
     }
     REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[4])(fra.me.REG[4]);
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     while(1) {
       REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
       if (UNTAG_Bool(REGB2)) {
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:232 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       if (UNTAG_Bool(REGB2)) {
         /* compiling/compiling_icode.nit:246 */
         REGB2 = REGB0;
@@ -1627,16 +1657,16 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         /* compiling/compiling_icode.nit:251 */
         REGB3 = TAG_Int(0);
         REGB4 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[8])(fra.me.REG[8]);
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         while(1) {
           REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
           if (UNTAG_Bool(REGB5)) {
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB5 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
-          /* ../lib/standard/kernel.nit:352 */
+          /* ../lib/standard/kernel.nit:355 */
           if (UNTAG_Bool(REGB5)) {
             /* compiling/compiling_icode.nit:252 */
             if (!once_value_11) {
@@ -1648,14 +1678,14 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
             } else fra.me.REG[10] = once_value_11;
             fra.me.REG[10] = fra.me.REG[10];
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB5 = TAG_Int(1);
-            /* ../lib/standard/kernel.nit:235 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB3 = REGB5;
           } else {
-            /* ../lib/standard/kernel.nit:352 */
+            /* ../lib/standard/kernel.nit:355 */
             goto label12;
           }
         }
@@ -1676,7 +1706,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         } else {
           REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
           if (UNTAG_Bool(REGB4)) {
-            REGB4 = TAG_Bool(false);
+            REGB4 = TAG_Bool(0);
             REGB3 = REGB4;
           } else {
             REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
@@ -1798,14 +1828,14 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
         fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB2 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB0 = REGB2;
       } else {
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         goto label24;
       }
     }
@@ -1817,7 +1847,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
@@ -1844,7 +1874,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -1894,7 +1924,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -1903,11 +1933,12 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
+    /* compiling/compiling_icode.nit:271 */
     REGB0 = TAG_Int(5);
     fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_29) {
-      fra.me.REG[7] = BOX_NativeString("static const char * const LOCATE_");
-      REGB0 = TAG_Int(33);
+      fra.me.REG[7] = BOX_NativeString("static const char LOCATE_");
+      REGB0 = TAG_Int(25);
       fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
       once_value_29 = fra.me.REG[7];
       register_static_object(&once_value_29);
@@ -1916,8 +1947,8 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
     if (!once_value_30) {
-      fra.me.REG[7] = BOX_NativeString(" = \"");
-      REGB0 = TAG_Int(4);
+      fra.me.REG[7] = BOX_NativeString("[] = \"");
+      REGB0 = TAG_Int(6);
       fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
       once_value_30 = fra.me.REG[7];
       register_static_object(&once_value_30);
@@ -1935,9 +1966,9 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     fra.me.REG[3] = fra.me.REG[3];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
     fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
-    CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
+    CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
   }
-  /* compiling/compiling_icode.nit:271 */
+  /* compiling/compiling_icode.nit:273 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_32) {
@@ -1981,7 +2012,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
   fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
   CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
-  /* compiling/compiling_icode.nit:272 */
+  /* compiling/compiling_icode.nit:274 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_36) {
@@ -2025,7 +2056,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
   fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
   CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
-  /* compiling/compiling_icode.nit:273 */
+  /* compiling/compiling_icode.nit:275 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_40) {
@@ -2069,14 +2100,15 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[0]);
   fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
   CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
-  /* compiling/compiling_icode.nit:274 */
+  /* compiling/compiling_icode.nit:276 */
   CALL_compiling___compiling_base___CompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:275 */
+  /* compiling/compiling_icode.nit:277 */
   goto label44;
   label44: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[6];
 }
+static const char LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c[] = "compiling_icode::IRoutine::compile_inside_to_c";
 val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
   val_t REGB0;
@@ -2123,7 +2155,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   static val_t once_value_42; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 278;
+  fra.me.line = 280;
   fra.me.meth = LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 10;
@@ -2141,16 +2173,16 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:282 */
+  /* compiling/compiling_icode.nit:284 */
   REGB0 = TAG_Int(0);
-  /* compiling/compiling_icode.nit:283 */
+  /* compiling/compiling_icode.nit:285 */
   fra.me.REG[3] = CALL_icode___icode_base___IRoutine___location(fra.me.REG[0])(fra.me.REG[0]);
   REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -2159,16 +2191,16 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   }
   REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:284 */
+    /* compiling/compiling_icode.nit:286 */
     fra.me.REG[3] = CALL_icode___icode_base___IRoutine___location(fra.me.REG[0])(fra.me.REG[0]);
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 284);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 286);
     }
     REGB1 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]);
     REGB0 = REGB1;
   }
-  /* compiling/compiling_icode.nit:287 */
+  /* compiling/compiling_icode.nit:289 */
   REGB1 = CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
   REGB2 = TAG_Int(1);
   REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -2176,11 +2208,11 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:234 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
-  /* compiling/compiling_icode.nit:287 */
+  /* compiling/compiling_icode.nit:289 */
   if (UNTAG_Bool(REGB2)) {
-    /* compiling/compiling_icode.nit:288 */
+    /* compiling/compiling_icode.nit:290 */
     REGB2 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
     if (!once_value_1) {
@@ -2194,9 +2226,9 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
     REGB2 = CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
     REGB1 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:237 */
+    /* ../lib/standard/kernel.nit:240 */
     REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
-    /* compiling/compiling_icode.nit:288 */
+    /* compiling/compiling_icode.nit:290 */
     fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
     if (!once_value_2) {
@@ -2211,7 +2243,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   } else {
-    /* compiling/compiling_icode.nit:290 */
+    /* compiling/compiling_icode.nit:292 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
       REGB1 = TAG_Int(38);
@@ -2222,7 +2254,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     fra.me.REG[3] = fra.me.REG[3];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   }
-  /* compiling/compiling_icode.nit:292 */
+  /* compiling/compiling_icode.nit:294 */
   if (!once_value_4) {
     fra.me.REG[3] = BOX_NativeString("fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;");
     REGB1 = TAG_Int(59);
@@ -2232,7 +2264,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else fra.me.REG[3] = once_value_4;
   fra.me.REG[3] = fra.me.REG[3];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:293 */
+  /* compiling/compiling_icode.nit:295 */
   REGB1 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_5) {
@@ -2259,7 +2291,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:294 */
+  /* compiling/compiling_icode.nit:296 */
   REGB1 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_7) {
@@ -2284,7 +2316,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:295 */
+  /* compiling/compiling_icode.nit:297 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_9) {
@@ -2309,7 +2341,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:296 */
+  /* compiling/compiling_icode.nit:298 */
   if (!once_value_11) {
     fra.me.REG[3] = BOX_NativeString("fra.me.has_broke = 0;");
     REGB0 = TAG_Int(21);
@@ -2319,7 +2351,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else fra.me.REG[3] = once_value_11;
   fra.me.REG[3] = fra.me.REG[3];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:297 */
+  /* compiling/compiling_icode.nit:299 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_12) {
@@ -2345,7 +2377,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:298 */
+  /* compiling/compiling_icode.nit:300 */
   if (!once_value_14) {
     fra.me.REG[3] = BOX_NativeString("fra.me.nitni_local_ref_head = NULL;");
     REGB0 = TAG_Int(35);
@@ -2355,23 +2387,23 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else fra.me.REG[3] = once_value_14;
   fra.me.REG[3] = fra.me.REG[3];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:301 */
+  /* compiling/compiling_icode.nit:303 */
   REGB0 = TAG_Int(0);
   REGB1 = CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB2)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* compiling/compiling_icode.nit:301 */
+      /* compiling/compiling_icode.nit:303 */
       REGB2 = REGB0;
-      /* compiling/compiling_icode.nit:302 */
+      /* compiling/compiling_icode.nit:304 */
       REGB3 = TAG_Int(3);
       fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
       if (!once_value_15) {
@@ -2396,35 +2428,35 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
       fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label17;
     }
   }
   label17: while(0);
-  /* compiling/compiling_icode.nit:304 */
+  /* compiling/compiling_icode.nit:306 */
   REGB0 = TAG_Int(0);
   REGB1 = CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB2)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* compiling/compiling_icode.nit:304 */
+      /* compiling/compiling_icode.nit:306 */
       REGB2 = REGB0;
-      /* compiling/compiling_icode.nit:305 */
+      /* compiling/compiling_icode.nit:307 */
       REGB3 = TAG_Int(3);
       fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
       if (!once_value_18) {
@@ -2449,27 +2481,27 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
       fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label20;
     }
   }
   label20: while(0);
-  /* compiling/compiling_icode.nit:307 */
+  /* compiling/compiling_icode.nit:309 */
   fra.me.REG[3] = CALL_icode___icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:308 */
+  /* compiling/compiling_icode.nit:310 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -2478,7 +2510,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:309 */
+    /* compiling/compiling_icode.nit:311 */
     REGB0 = TAG_Int(3);
     fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_21) {
@@ -2492,7 +2524,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
     REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 309);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 311);
     }
     REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
     fra.me.REG[5] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
@@ -2508,7 +2540,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
     fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:310 */
+    /* compiling/compiling_icode.nit:312 */
     if (!once_value_23) {
       fra.me.REG[4] = BOX_NativeString("fra.me.closure_ctx = closctx_param;");
       REGB0 = TAG_Int(35);
@@ -2518,7 +2550,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     } else fra.me.REG[4] = once_value_23;
     fra.me.REG[4] = fra.me.REG[4];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:311 */
+    /* compiling/compiling_icode.nit:313 */
     if (!once_value_24) {
       fra.me.REG[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
       REGB0 = TAG_Int(27);
@@ -2529,19 +2561,19 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     fra.me.REG[4] = fra.me.REG[4];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
   }
-  /* compiling/compiling_icode.nit:313 */
+  /* compiling/compiling_icode.nit:315 */
   REGB0 = TAG_Int(0);
   fra.me.REG[4] = REGB0;
-  /* compiling/compiling_icode.nit:314 */
+  /* compiling/compiling_icode.nit:316 */
   fra.me.REG[5] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[5])(fra.me.REG[5], (&(fra.me)), ((fun_t)OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_25));
-  /* compiling/compiling_icode.nit:318 */
+  /* compiling/compiling_icode.nit:320 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -2550,33 +2582,33 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:319 */
+    /* compiling/compiling_icode.nit:321 */
     REGB0 = TAG_Int(0);
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 319);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 321);
     }
     REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     while(1) {
       REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
       if (UNTAG_Bool(REGB2)) {
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:232 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       if (UNTAG_Bool(REGB2)) {
-        /* compiling/compiling_icode.nit:319 */
+        /* compiling/compiling_icode.nit:321 */
         REGB2 = REGB0;
-        /* compiling/compiling_icode.nit:320 */
+        /* compiling/compiling_icode.nit:322 */
         REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
         if (UNTAG_Bool(REGB3)) {
-          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 320);
+          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 322);
         }
         fra.me.REG[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[3])(fra.me.REG[3], REGB2);
-        /* compiling/compiling_icode.nit:321 */
+        /* compiling/compiling_icode.nit:323 */
         REGB3 = TAG_Int(5);
         fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
         if (!once_value_27) {
@@ -2601,7 +2633,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
         fra.me.REG[6] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
         REGB3 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[6])(fra.me.REG[6]);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB3 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB2));
         /* ../lib/standard/collection/array.nit:278 */
         fra.me.REG[6] = fra.me.REG[2];
@@ -2612,7 +2644,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:233 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB4 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB4));
         /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB4)) {
@@ -2627,11 +2659,11 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
         } else {
           /* ../lib/standard/collection/array.nit:280 */
-          REGB5 = TAG_Bool(false);
+          REGB5 = TAG_Bool(0);
           REGB4 = REGB5;
         }
         if (UNTAG_Bool(REGB4)) {
@@ -2649,7 +2681,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         /* ../lib/standard/collection/array.nit:281 */
         goto label29;
         label29: while(0);
-        /* compiling/compiling_icode.nit:321 */
+        /* compiling/compiling_icode.nit:323 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
         if (!once_value_30) {
           fra.me.REG[6] = BOX_NativeString(";");
@@ -2662,16 +2694,16 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
         fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
         CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:322 */
+        /* compiling/compiling_icode.nit:324 */
         fra.me.REG[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra.me.REG[1])(fra.me.REG[1]);
         fra.me.REG[6] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
         CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
-        /* compiling/compiling_icode.nit:323 */
+        /* compiling/compiling_icode.nit:325 */
         fra.me.REG[6] = CALL_icode___icode_base___IClosureDecl___closure(fra.me.REG[4])(fra.me.REG[4]);
         fra.me.REG[6] = CALL_metamodel___static_type___MMClosure___signature(fra.me.REG[6])(fra.me.REG[6]);
-        /* compiling/compiling_icode.nit:324 */
+        /* compiling/compiling_icode.nit:326 */
         fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
-        /* compiling/compiling_icode.nit:325 */
+        /* compiling/compiling_icode.nit:327 */
         if (!once_value_31) {
           fra.me.REG[7] = BOX_NativeString("struct stack_frame_t *");
           REGB2 = TAG_Int(22);
@@ -2681,21 +2713,21 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         } else fra.me.REG[7] = once_value_31;
         fra.me.REG[7] = fra.me.REG[7];
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[7]);
-        /* compiling/compiling_icode.nit:326 */
+        /* compiling/compiling_icode.nit:328 */
         REGB2 = TAG_Int(0);
         REGB3 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[6])(fra.me.REG[6]);
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         while(1) {
           REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
           if (UNTAG_Bool(REGB4)) {
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
-          /* ../lib/standard/kernel.nit:352 */
+          /* ../lib/standard/kernel.nit:355 */
           if (UNTAG_Bool(REGB4)) {
-            /* compiling/compiling_icode.nit:327 */
+            /* compiling/compiling_icode.nit:329 */
             if (!once_value_32) {
               fra.me.REG[7] = BOX_NativeString("val_t");
               REGB4 = TAG_Int(5);
@@ -2704,21 +2736,21 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
               register_static_object(&once_value_32);
             } else fra.me.REG[7] = once_value_32;
             fra.me.REG[7] = fra.me.REG[7];
-            /* compiling/compiling_icode.nit:328 */
+            /* compiling/compiling_icode.nit:330 */
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[7]);
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB4 = TAG_Int(1);
-            /* ../lib/standard/kernel.nit:235 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB4 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB2 = REGB4;
           } else {
-            /* ../lib/standard/kernel.nit:352 */
+            /* ../lib/standard/kernel.nit:355 */
             goto label33;
           }
         }
         label33: while(0);
-        /* compiling/compiling_icode.nit:330 */
+        /* compiling/compiling_icode.nit:332 */
         if (!once_value_34) {
           fra.me.REG[7] = BOX_NativeString("void");
           REGB2 = TAG_Int(4);
@@ -2727,14 +2759,14 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
           register_static_object(&once_value_34);
         } else fra.me.REG[7] = once_value_34;
         fra.me.REG[7] = fra.me.REG[7];
-        /* compiling/compiling_icode.nit:331 */
+        /* compiling/compiling_icode.nit:333 */
         fra.me.REG[6] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[6])(fra.me.REG[6]);
         REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
         if (UNTAG_Bool(REGB2)) {
         } else {
           REGB3 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
           if (UNTAG_Bool(REGB3)) {
-            REGB3 = TAG_Bool(false);
+            REGB3 = TAG_Bool(0);
             REGB2 = REGB3;
           } else {
             REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
@@ -2753,7 +2785,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
           fra.me.REG[6] = fra.me.REG[6];
           fra.me.REG[7] = fra.me.REG[6];
         }
-        /* compiling/compiling_icode.nit:332 */
+        /* compiling/compiling_icode.nit:334 */
         fra.me.REG[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra.me.REG[1])(fra.me.REG[1]);
         REGB2 = TAG_Int(5);
         fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
@@ -2797,20 +2829,20 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
         fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
         CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4], fra.me.REG[8]);
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB2 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB0 = REGB2;
       } else {
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         goto label40;
       }
     }
     label40: while(0);
   }
-  /* compiling/compiling_icode.nit:335 */
+  /* compiling/compiling_icode.nit:337 */
   if (!once_value_41) {
     fra.me.REG[2] = BOX_NativeString("val_t tmp;");
     REGB0 = TAG_Int(10);
@@ -2820,15 +2852,15 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else fra.me.REG[2] = once_value_41;
   fra.me.REG[2] = fra.me.REG[2];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:338 */
+  /* compiling/compiling_icode.nit:340 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:339 */
+  /* compiling/compiling_icode.nit:341 */
   fra.me.REG[3] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:342 */
+  /* compiling/compiling_icode.nit:344 */
   fra.me.REG[3] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:344 */
+  /* compiling/compiling_icode.nit:346 */
   if (!once_value_42) {
     fra.me.REG[3] = BOX_NativeString("stack_frame_head = fra.me.prev;");
     REGB0 = TAG_Int(31);
@@ -2838,17 +2870,17 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   } else fra.me.REG[3] = once_value_42;
   fra.me.REG[3] = fra.me.REG[3];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:345 */
+  /* compiling/compiling_icode.nit:347 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:346 */
+  /* compiling/compiling_icode.nit:348 */
   fra.me.REG[0] = CALL_icode___icode_base___IRoutine___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:347 */
+  /* compiling/compiling_icode.nit:349 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -2857,11 +2889,11 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:348 */
+    /* compiling/compiling_icode.nit:350 */
     fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
     goto label43;
   } else {
-    /* compiling/compiling_icode.nit:350 */
+    /* compiling/compiling_icode.nit:352 */
     fra.me.REG[0] = NIT_NULL;
     goto label43;
   }
@@ -2889,19 +2921,19 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* compiling/compiling_icode.nit:315 */
+    /* compiling/compiling_icode.nit:317 */
     fra.me.REG[1] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[0])(fra.me.REG[0]);
     REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[1])==(NIT_NULL));
-        /* compiling/compiling_icode.nit:315 */
+        /* compiling/compiling_icode.nit:317 */
         REGB0 = REGB1;
       }
     }
@@ -2918,7 +2950,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB1)) {
@@ -2933,11 +2965,11 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
@@ -2955,24 +2987,25 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
       /* ../lib/standard/collection/array.nit:281 */
       goto label26;
       label26: while(0);
-      /* compiling/compiling_icode.nit:315 */
+      /* compiling/compiling_icode.nit:317 */
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_assignment(closctx->REG[1])(closctx->REG[1], fra.me.REG[0], fra.me.REG[1]);
     }
-    /* compiling/compiling_icode.nit:316 */
+    /* compiling/compiling_icode.nit:318 */
     REGB0 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB0 = TAG_Int(UNTAG_Int(closctx->REG[4])+UNTAG_Int(REGB0));
-    /* compiling/compiling_icode.nit:316 */
+    /* compiling/compiling_icode.nit:318 */
     closctx->REG[4] = REGB0;
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_compiling___compiling_icode___IRoutine___compile_to_c[] = "compiling_icode::IRoutine::compile_to_c";
 val_t compiling___compiling_icode___IRoutine___compile_to_c(val_t p0, val_t p1, val_t p2, val_t p3){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 354;
+  fra.me.line = 356;
   fra.me.meth = LOCATE_compiling___compiling_icode___IRoutine___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -2985,30 +3018,32 @@ val_t compiling___compiling_icode___IRoutine___compile_to_c(val_t p0, val_t p1,
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
   fra.me.REG[3] = p3;
-  /* compiling/compiling_icode.nit:358 */
+  /* compiling/compiling_icode.nit:360 */
   fra.me.REG[2] = NEW_I2CCompilerVisitor_compiling___compiling_icode___I2CCompilerVisitor___init(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:359 */
+  /* compiling/compiling_icode.nit:361 */
   fra.me.REG[3] = CALL_compiling___compiling_icode___IRoutine___compile_inside_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_compiling___compiling_icode___ICode___compile_to_c[] = "compiling_icode::ICode::compile_to_c";
 void compiling___compiling_icode___ICode___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 364;
+  fra.me.line = 366;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 0;
   fra.me.nitni_local_ref_head = NULL;
-  /* compiling/compiling_icode.nit:364 */
-  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 364);
+  /* compiling/compiling_icode.nit:366 */
+  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 366);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ICode___need_result[] = "compiling_icode::ICode::need_result";
 val_t compiling___compiling_icode___ICode___need_result(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -3016,22 +3051,22 @@ val_t compiling___compiling_icode___ICode___need_result(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 367;
+  fra.me.line = 369;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___need_result;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* compiling/compiling_icode.nit:370 */
+  /* compiling/compiling_icode.nit:372 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:371 */
+  /* compiling/compiling_icode.nit:373 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -3042,7 +3077,7 @@ val_t compiling___compiling_icode___ICode___need_result(val_t p0){
   if (UNTAG_Bool(REGB0)) {
     REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 371);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 373);
     }
     fra.me.REG[0] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[0])(fra.me.REG[0]);
     REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
@@ -3050,18 +3085,18 @@ val_t compiling___compiling_icode___ICode___need_result(val_t p0){
     } else {
       REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[0])==(NIT_NULL));
-        /* compiling/compiling_icode.nit:371 */
+        /* compiling/compiling_icode.nit:373 */
         REGB0 = REGB1;
       }
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   goto label1;
@@ -3069,6 +3104,7 @@ val_t compiling___compiling_icode___ICode___need_result(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_compiling___compiling_icode___ICode___store_result[] = "compiling_icode::ICode::store_result";
 void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3079,7 +3115,7 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
       static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 374;
+  fra.me.line = 376;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___store_result;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -3092,15 +3128,15 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:377 */
+  /* compiling/compiling_icode.nit:379 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:378 */
+  /* compiling/compiling_icode.nit:380 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -3111,7 +3147,7 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
   if (UNTAG_Bool(REGB0)) {
     REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 378);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 380);
     }
     fra.me.REG[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[3])(fra.me.REG[3]);
     REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
@@ -3119,28 +3155,28 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
     } else {
       REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[4])==(NIT_NULL));
-        /* compiling/compiling_icode.nit:378 */
+        /* compiling/compiling_icode.nit:380 */
         REGB0 = REGB1;
       }
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:379 */
+    /* compiling/compiling_icode.nit:381 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -3150,14 +3186,14 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
     } else {
-      nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 379);
+      nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 381);
     }
-    /* compiling/compiling_icode.nit:380 */
+    /* compiling/compiling_icode.nit:382 */
     fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:381 */
+    /* compiling/compiling_icode.nit:383 */
     fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    /* compiling/compiling_icode.nit:382 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+    /* compiling/compiling_icode.nit:384 */
     if (!once_value_1) {
       fra.me.REG[3] = BOX_NativeString(" = ");
       REGB0 = TAG_Int(3);
@@ -3166,10 +3202,10 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
       register_static_object(&once_value_1);
     } else fra.me.REG[3] = once_value_1;
     fra.me.REG[3] = fra.me.REG[3];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    /* compiling/compiling_icode.nit:383 */
-    CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:384 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+    /* compiling/compiling_icode.nit:385 */
+    CALL_compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:386 */
     if (!once_value_2) {
       fra.me.REG[3] = BOX_NativeString(";\n");
       REGB0 = TAG_Int(2);
@@ -3178,15 +3214,15 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
       register_static_object(&once_value_2);
     } else fra.me.REG[3] = once_value_2;
     fra.me.REG[3] = fra.me.REG[3];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
   } else {
-    /* compiling/compiling_icode.nit:385 */
+    /* compiling/compiling_icode.nit:387 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -3198,15 +3234,15 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
       REGB0 = CALL_icode___icode_base___ICode___is_pure(fra.me.REG[0])(fra.me.REG[0]);
       REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     } else {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     }
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:388 */
-      fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-      /* compiling/compiling_icode.nit:389 */
-      CALL_compiling___compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
       /* compiling/compiling_icode.nit:390 */
+      fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
+      /* compiling/compiling_icode.nit:391 */
+      CALL_compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+      /* compiling/compiling_icode.nit:392 */
       if (!once_value_3) {
         fra.me.REG[2] = BOX_NativeString(";\n");
         REGB0 = TAG_Int(2);
@@ -3215,12 +3251,13 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
         register_static_object(&once_value_3);
       } else fra.me.REG[2] = once_value_3;
       fra.me.REG[2] = fra.me.REG[2];
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+      CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
     }
   }
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ICode___new_result[] = "compiling_icode::ICode::new_result";
 val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -3230,7 +3267,7 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 394;
+  fra.me.line = 396;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___new_result;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -3241,10 +3278,10 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:398 */
+  /* compiling/compiling_icode.nit:400 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Bool(true);
+    REGB0 = TAG_Bool(1);
   } else {
     REGB1 = CALL_icode___icode_base___ICode___is_pure(fra.me.REG[0])(fra.me.REG[0]);
     REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
@@ -3252,19 +3289,19 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   }
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 398);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 400);
   }
-  /* compiling/compiling_icode.nit:399 */
+  /* compiling/compiling_icode.nit:401 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:400 */
+  /* compiling/compiling_icode.nit:402 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:401 */
+  /* compiling/compiling_icode.nit:403 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -3275,7 +3312,7 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   if (UNTAG_Bool(REGB0)) {
     REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 401);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 403);
     }
     fra.me.REG[3] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[0])(fra.me.REG[0]);
     REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
@@ -3283,25 +3320,25 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
     } else {
       REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
-        /* compiling/compiling_icode.nit:401 */
+        /* compiling/compiling_icode.nit:403 */
         REGB0 = REGB1;
       }
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:402 */
+    /* compiling/compiling_icode.nit:404 */
     fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:403 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:405 */
     if (!once_value_1) {
       fra.me.REG[0] = BOX_NativeString(" = ");
       REGB0 = TAG_Int(3);
@@ -3310,11 +3347,11 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
       register_static_object(&once_value_1);
     } else fra.me.REG[0] = once_value_1;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:405 */
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:406 */
+  /* compiling/compiling_icode.nit:407 */
+  fra.me.REG[0] = CALL_compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:408 */
   if (!once_value_2) {
     fra.me.REG[1] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -3323,13 +3360,14 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[1] = once_value_2;
   fra.me.REG[1] = fra.me.REG[1];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:407 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+  /* compiling/compiling_icode.nit:409 */
   goto label3;
   label3: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_compiling___compiling_icode___ISeq___compile_to_c[] = "compiling_icode::ISeq::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -3337,7 +3375,7 @@ void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 412;
+  fra.me.line = 414;
   fra.me.meth = LOCATE_compiling___compiling_icode___ISeq___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -3348,21 +3386,21 @@ void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:414 */
+  /* compiling/compiling_icode.nit:416 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:415 */
+  /* compiling/compiling_icode.nit:417 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:416 */
+  /* compiling/compiling_icode.nit:418 */
   fra.me.REG[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:417 */
+  /* compiling/compiling_icode.nit:419 */
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -3374,10 +3412,10 @@ void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra.me.REG[1])(fra.me.REG[1]);
     CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:418 */
+  /* compiling/compiling_icode.nit:420 */
   fra.me.REG[2] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_compiling___compiling_icode___ISeq___compile_to_c_1));
-  /* compiling/compiling_icode.nit:421 */
+  /* compiling/compiling_icode.nit:423 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
@@ -3398,11 +3436,12 @@ void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* compiling/compiling_icode.nit:419 */
+    /* compiling/compiling_icode.nit:421 */
     CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_compiling___compiling_icode___IIf___compile_to_c[] = "compiling_icode::IIf::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -3413,7 +3452,7 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 426;
+  fra.me.line = 428;
   fra.me.meth = LOCATE_compiling___compiling_icode___IIf___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -3424,12 +3463,12 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:428 */
+  /* compiling/compiling_icode.nit:430 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:429 */
+  /* compiling/compiling_icode.nit:431 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:430 */
+  /* compiling/compiling_icode.nit:432 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("if (UNTAG_Bool(");
     REGB0 = TAG_Int(15);
@@ -3438,12 +3477,12 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_1);
   } else fra.me.REG[3] = once_value_1;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:431 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:433 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:432 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:434 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString(")) {\n");
     REGB0 = TAG_Int(5);
@@ -3452,28 +3491,28 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:433 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:435 */
   fra.me.REG[3] = CALL_icode___icode_base___IIf___then_seq(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:434 */
+    /* compiling/compiling_icode.nit:436 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:435 */
+    /* compiling/compiling_icode.nit:437 */
     fra.me.REG[3] = CALL_icode___icode_base___IIf___then_seq(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:436 */
+    /* compiling/compiling_icode.nit:438 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* compiling/compiling_icode.nit:438 */
+  /* compiling/compiling_icode.nit:440 */
   fra.me.REG[3] = CALL_icode___icode_base___IIf___else_seq(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:439 */
+    /* compiling/compiling_icode.nit:441 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("} else {");
       REGB0 = TAG_Int(8);
@@ -3483,15 +3522,15 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
     } else fra.me.REG[3] = once_value_3;
     fra.me.REG[3] = fra.me.REG[3];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-    /* compiling/compiling_icode.nit:440 */
+    /* compiling/compiling_icode.nit:442 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:441 */
+    /* compiling/compiling_icode.nit:443 */
     fra.me.REG[0] = CALL_icode___icode_base___IIf___else_seq(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:442 */
+    /* compiling/compiling_icode.nit:444 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* compiling/compiling_icode.nit:444 */
+  /* compiling/compiling_icode.nit:446 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3504,6 +3543,7 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ILoop___compile_to_c[] = "compiling_icode::ILoop::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -3513,7 +3553,7 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 449;
+  fra.me.line = 451;
   fra.me.meth = LOCATE_compiling___compiling_icode___ILoop___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -3524,21 +3564,21 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:451 */
+  /* compiling/compiling_icode.nit:453 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:452 */
+  /* compiling/compiling_icode.nit:454 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:453 */
+  /* compiling/compiling_icode.nit:455 */
   fra.me.REG[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:454 */
+  /* compiling/compiling_icode.nit:456 */
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -3550,7 +3590,7 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra.me.REG[1])(fra.me.REG[1]);
     CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:455 */
+  /* compiling/compiling_icode.nit:457 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("while(1) {");
     REGB0 = TAG_Int(10);
@@ -3560,14 +3600,14 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:456 */
+  /* compiling/compiling_icode.nit:458 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:457 */
+  /* compiling/compiling_icode.nit:459 */
   fra.me.REG[2] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_compiling___compiling_icode___ILoop___compile_to_c_2));
-  /* compiling/compiling_icode.nit:460 */
+  /* compiling/compiling_icode.nit:462 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:461 */
+  /* compiling/compiling_icode.nit:463 */
   if (!once_value_3) {
     fra.me.REG[2] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3577,7 +3617,7 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
   } else fra.me.REG[2] = once_value_3;
   fra.me.REG[2] = fra.me.REG[2];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:462 */
+  /* compiling/compiling_icode.nit:464 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
@@ -3598,17 +3638,18 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* compiling/compiling_icode.nit:458 */
+    /* compiling/compiling_icode.nit:460 */
     CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_compiling___compiling_icode___IEscape___compile_to_c[] = "compiling_icode::IEscape::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IEscape___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 467;
+  fra.me.line = 469;
   fra.me.meth = LOCATE_compiling___compiling_icode___IEscape___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -3618,10 +3659,10 @@ void compiling___compiling_icode___IEscape___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:469 */
+  /* compiling/compiling_icode.nit:471 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:470 */
+  /* compiling/compiling_icode.nit:472 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[0] = CALL_icode___icode_base___IEscape___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
@@ -3629,6 +3670,7 @@ void compiling___compiling_icode___IEscape___compile_to_c(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c[] = "compiling_icode::IAbsCall::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
   val_t REGB0;
@@ -3653,7 +3695,7 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       static val_t once_value_20; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 475;
+  fra.me.line = 477;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 10;
@@ -3670,27 +3712,27 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[9] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:475 */
-  fra.me.REG[2] = fra.me.REG[0];
   /* compiling/compiling_icode.nit:477 */
+  fra.me.REG[2] = fra.me.REG[0];
+  /* compiling/compiling_icode.nit:479 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode___location(fra.me.REG[2])(fra.me.REG[2]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:478 */
+  /* compiling/compiling_icode.nit:480 */
   fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:481 */
+  /* compiling/compiling_icode.nit:483 */
   fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:482 */
+  /* compiling/compiling_icode.nit:484 */
   fra.me.REG[5] = CALL_icode___icode_base___ICodeN___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:483 */
+  /* compiling/compiling_icode.nit:485 */
   fra.me.REG[6] = NIT_NULL;
-  /* compiling/compiling_icode.nit:484 */
+  /* compiling/compiling_icode.nit:486 */
   REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
@@ -3699,10 +3741,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:486 */
+    /* compiling/compiling_icode.nit:488 */
     REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:487 */
+      /* compiling/compiling_icode.nit:489 */
       if (!once_value_1) {
         fra.me.REG[7] = BOX_NativeString("closctx");
         REGB0 = TAG_Int(7);
@@ -3713,7 +3755,7 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       fra.me.REG[7] = fra.me.REG[7];
       fra.me.REG[6] = fra.me.REG[7];
     } else {
-      /* compiling/compiling_icode.nit:489 */
+      /* compiling/compiling_icode.nit:491 */
       if (!once_value_2) {
         fra.me.REG[7] = BOX_NativeString("(&(fra.me))");
         REGB0 = TAG_Int(11);
@@ -3724,29 +3766,29 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       fra.me.REG[7] = fra.me.REG[7];
       fra.me.REG[6] = fra.me.REG[7];
     }
-    /* compiling/compiling_icode.nit:493 */
+    /* compiling/compiling_icode.nit:495 */
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
-    /* compiling/compiling_icode.nit:496 */
+    /* compiling/compiling_icode.nit:498 */
     fra.me.REG[7] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
     CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
-    /* compiling/compiling_icode.nit:499 */
+    /* compiling/compiling_icode.nit:501 */
     REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 499);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 501);
     }
     CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[5])(fra.me.REG[5], (&(fra.me)), ((fun_t)OC_compiling___compiling_icode___IAbsCall___compile_to_c_3));
   }
-  /* compiling/compiling_icode.nit:510 */
+  /* compiling/compiling_icode.nit:512 */
   fra.me.REG[3] = CALL_compiling___compiling_icode___IAbsCall___compile_call_to_c(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:511 */
+  /* compiling/compiling_icode.nit:513 */
   fra.me.REG[5] = fra.me.REG[3];
-  /* compiling/compiling_icode.nit:514 */
+  /* compiling/compiling_icode.nit:516 */
   REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
@@ -3755,20 +3797,20 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:515 */
+    /* compiling/compiling_icode.nit:517 */
     fra.me.REG[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra.me.REG[1])(fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:516 */
-    CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
     /* compiling/compiling_icode.nit:518 */
+    CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:520 */
     REGB0 = CALL_standard___collection___abstract_collection___MapRead___is_empty(fra.me.REG[7])(fra.me.REG[7]);
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:520 */
+      /* compiling/compiling_icode.nit:522 */
       fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-      /* compiling/compiling_icode.nit:521 */
+      /* compiling/compiling_icode.nit:523 */
       REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[2])(fra.me.REG[2]);
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:522 */
+        /* compiling/compiling_icode.nit:524 */
         if (!once_value_5) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3777,8 +3819,8 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_5);
         } else fra.me.REG[8] = once_value_5;
         fra.me.REG[8] = fra.me.REG[8];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
-        /* compiling/compiling_icode.nit:523 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
+        /* compiling/compiling_icode.nit:525 */
         if (!once_value_6) {
           fra.me.REG[8] = BOX_NativeString(" = ");
           REGB0 = TAG_Int(3);
@@ -3787,10 +3829,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_6);
         } else fra.me.REG[8] = once_value_6;
         fra.me.REG[8] = fra.me.REG[8];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
-        /* compiling/compiling_icode.nit:524 */
-        CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-        /* compiling/compiling_icode.nit:525 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
+        /* compiling/compiling_icode.nit:526 */
+        CALL_compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+        /* compiling/compiling_icode.nit:527 */
         if (!once_value_7) {
           fra.me.REG[8] = BOX_NativeString(";\n");
           REGB0 = TAG_Int(2);
@@ -3799,11 +3841,11 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_7);
         } else fra.me.REG[8] = once_value_7;
         fra.me.REG[8] = fra.me.REG[8];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
-        /* compiling/compiling_icode.nit:526 */
-        fra.me.REG[8] = NEW_Writer_compiling___compiling_writer___Writer___init();
+        CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
+        /* compiling/compiling_icode.nit:528 */
+        fra.me.REG[8] = NEW_Writer_compiling_writer___Writer___init();
         fra.me.REG[5] = fra.me.REG[8];
-        /* compiling/compiling_icode.nit:527 */
+        /* compiling/compiling_icode.nit:529 */
         if (!once_value_8) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3814,15 +3856,15 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         fra.me.REG[8] = fra.me.REG[8];
         REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
         if (UNTAG_Bool(REGB0)) {
-          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 527);
+          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 529);
         }
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
+        CALL_compiling_writer___Writer___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
       } else {
-        /* compiling/compiling_icode.nit:529 */
-        fra.me.REG[5] = NIT_NULL;
-        /* compiling/compiling_icode.nit:530 */
-        CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
         /* compiling/compiling_icode.nit:531 */
+        fra.me.REG[5] = NIT_NULL;
+        /* compiling/compiling_icode.nit:532 */
+        CALL_compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+        /* compiling/compiling_icode.nit:533 */
         if (!once_value_9) {
           fra.me.REG[3] = BOX_NativeString(";\n");
           REGB0 = TAG_Int(2);
@@ -3831,9 +3873,9 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_9);
         } else fra.me.REG[3] = once_value_9;
         fra.me.REG[3] = fra.me.REG[3];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+        CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
       }
-      /* compiling/compiling_icode.nit:534 */
+      /* compiling/compiling_icode.nit:536 */
       fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
       if (!once_value_10) {
         fra.me.REG[4] = BOX_NativeString("switch (");
@@ -3843,8 +3885,8 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         register_static_object(&once_value_10);
       } else fra.me.REG[4] = once_value_10;
       fra.me.REG[4] = fra.me.REG[4];
-      fra.me.REG[4] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-      fra.me.REG[4] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
+      fra.me.REG[4] = CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+      fra.me.REG[4] = CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
       if (!once_value_11) {
         fra.me.REG[3] = BOX_NativeString("->has_broke) {\n");
         REGB0 = TAG_Int(15);
@@ -3853,10 +3895,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         register_static_object(&once_value_11);
       } else fra.me.REG[3] = once_value_11;
       fra.me.REG[3] = fra.me.REG[3];
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-      /* compiling/compiling_icode.nit:535 */
-      CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
+      CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
       /* compiling/compiling_icode.nit:537 */
+      CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
+      /* compiling/compiling_icode.nit:539 */
       if (!once_value_12) {
         fra.me.REG[3] = BOX_NativeString("case 0: break;");
         REGB0 = TAG_Int(14);
@@ -3866,22 +3908,22 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       } else fra.me.REG[3] = once_value_12;
       fra.me.REG[3] = fra.me.REG[3];
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-      /* compiling/compiling_icode.nit:538 */
-      fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
-      /* compiling/compiling_icode.nit:539 */
-      fra.me.REG[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[7])(fra.me.REG[7]);
       /* compiling/compiling_icode.nit:540 */
-      REGB0 = TAG_Bool(false);
+      fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
       /* compiling/compiling_icode.nit:541 */
+      fra.me.REG[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[7])(fra.me.REG[7]);
+      /* compiling/compiling_icode.nit:542 */
+      REGB0 = TAG_Bool(0);
+      /* compiling/compiling_icode.nit:543 */
       while(1) {
         REGB1 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
         if (UNTAG_Bool(REGB1)) {
-          /* compiling/compiling_icode.nit:542 */
+          /* compiling/compiling_icode.nit:544 */
           fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[7])(fra.me.REG[7]);
-          /* compiling/compiling_icode.nit:543 */
+          /* compiling/compiling_icode.nit:545 */
           REGB1 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:546 */
+            /* compiling/compiling_icode.nit:548 */
             fra.me.REG[8] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
             if (!once_value_13) {
               fra.me.REG[9] = BOX_NativeString("case ");
@@ -3891,14 +3933,14 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
               register_static_object(&once_value_13);
             } else fra.me.REG[9] = once_value_13;
             fra.me.REG[9] = fra.me.REG[9];
-            fra.me.REG[9] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+            fra.me.REG[9] = CALL_compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
             fra.me.REG[8] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[7])(fra.me.REG[7]);
             REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
             if (UNTAG_Bool(REGB1)) {
-              nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 546);
+              nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 548);
             }
             fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
-            fra.me.REG[8] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
+            fra.me.REG[8] = CALL_compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
             if (!once_value_14) {
               fra.me.REG[9] = BOX_NativeString(": ");
               REGB1 = TAG_Int(2);
@@ -3907,8 +3949,8 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
               register_static_object(&once_value_14);
             } else fra.me.REG[9] = once_value_14;
             fra.me.REG[9] = fra.me.REG[9];
-            fra.me.REG[9] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
-            fra.me.REG[9] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
+            fra.me.REG[9] = CALL_compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+            fra.me.REG[9] = CALL_compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
             if (!once_value_15) {
               fra.me.REG[8] = BOX_NativeString("->has_broke = 0; goto ");
               REGB1 = TAG_Int(22);
@@ -3917,9 +3959,9 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
               register_static_object(&once_value_15);
             } else fra.me.REG[8] = once_value_15;
             fra.me.REG[8] = fra.me.REG[8];
-            fra.me.REG[8] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
+            fra.me.REG[8] = CALL_compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
             fra.me.REG[9] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-            fra.me.REG[9] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+            fra.me.REG[9] = CALL_compiling_writer___Writer___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
             if (!once_value_16) {
               fra.me.REG[8] = BOX_NativeString(";\n");
               REGB1 = TAG_Int(2);
@@ -3928,31 +3970,31 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
               register_static_object(&once_value_16);
             } else fra.me.REG[8] = once_value_16;
             fra.me.REG[8] = fra.me.REG[8];
-            CALL_compiling___compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
+            CALL_compiling_writer___Writer___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[8]);
           } else {
-            /* compiling/compiling_icode.nit:549 */
+            /* compiling/compiling_icode.nit:551 */
             REGB1 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
             if (UNTAG_Bool(REGB1)) {
             } else {
-              nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 549);
+              nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 551);
             }
-            /* compiling/compiling_icode.nit:550 */
+            /* compiling/compiling_icode.nit:552 */
             CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-            /* compiling/compiling_icode.nit:551 */
-            REGB1 = TAG_Bool(true);
+            /* compiling/compiling_icode.nit:553 */
+            REGB1 = TAG_Bool(1);
             REGB0 = REGB1;
           }
-          /* compiling/compiling_icode.nit:553 */
+          /* compiling/compiling_icode.nit:555 */
           CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[7])(fra.me.REG[7]);
         } else {
-          /* compiling/compiling_icode.nit:541 */
+          /* compiling/compiling_icode.nit:543 */
           goto label17;
         }
       }
       label17: while(0);
-      /* compiling/compiling_icode.nit:556 */
+      /* compiling/compiling_icode.nit:558 */
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:559 */
+        /* compiling/compiling_icode.nit:561 */
         fra.me.REG[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
         if (!once_value_18) {
           fra.me.REG[6] = BOX_NativeString("default: goto ");
@@ -3962,15 +4004,15 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_18);
         } else fra.me.REG[6] = once_value_18;
         fra.me.REG[6] = fra.me.REG[6];
-        fra.me.REG[6] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
+        fra.me.REG[6] = CALL_compiling_writer___Writer___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
         fra.me.REG[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra.me.REG[1])(fra.me.REG[1]);
         REGB0 = TAG_Bool(fra.me.REG[7]!=NIT_NULL);
         if (UNTAG_Bool(REGB0)) {
         } else {
-          nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 559);
+          nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 561);
         }
         fra.me.REG[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
-        fra.me.REG[7] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
+        fra.me.REG[7] = CALL_compiling_writer___Writer___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
         if (!once_value_19) {
           fra.me.REG[6] = BOX_NativeString(";\n");
           REGB0 = TAG_Int(2);
@@ -3979,11 +4021,11 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_19);
         } else fra.me.REG[6] = once_value_19;
         fra.me.REG[6] = fra.me.REG[6];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
+        CALL_compiling_writer___Writer___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
       }
-      /* compiling/compiling_icode.nit:561 */
+      /* compiling/compiling_icode.nit:563 */
       CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-      /* compiling/compiling_icode.nit:562 */
+      /* compiling/compiling_icode.nit:564 */
       if (!once_value_20) {
         fra.me.REG[6] = BOX_NativeString("}");
         REGB0 = TAG_Int(1);
@@ -3995,13 +4037,13 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
     }
   }
-  /* compiling/compiling_icode.nit:566 */
+  /* compiling/compiling_icode.nit:568 */
   REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
@@ -4010,10 +4052,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:567 */
+    /* compiling/compiling_icode.nit:569 */
     fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:568 */
-    CALL_compiling___compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
+    /* compiling/compiling_icode.nit:570 */
+    CALL_compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
   }
   stack_frame_head = fra.me.prev;
   return;
@@ -4037,13 +4079,13 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       fra.me.closure_funs = CREG;
       fra.me.REG[0] = p0;
       CREG[0] = clos_fun0;
-      /* compiling/compiling_icode.nit:500 */
+      /* compiling/compiling_icode.nit:502 */
       REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
       } else {
         REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
         if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB0 = REGB1;
         } else {
           REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -4052,16 +4094,16 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       }
       REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:501 */
+        /* compiling/compiling_icode.nit:503 */
         REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
         if (UNTAG_Bool(REGB0)) {
-          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 501);
+          nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 503);
         }
         fra.me.REG[0] = CALL_compiling___compiling_icode___IClosureDef___compile_closure(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-        /* compiling/compiling_icode.nit:502 */
+        /* compiling/compiling_icode.nit:504 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[0]);
       } else {
-        /* compiling/compiling_icode.nit:504 */
+        /* compiling/compiling_icode.nit:506 */
         if (!once_value_4) {
           fra.me.REG[0] = BOX_NativeString("NULL");
           REGB0 = TAG_Int(4);
@@ -4075,21 +4117,23 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       stack_frame_head = fra.me.prev;
       return;
     }
+static const char LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c[] = "compiling_icode::IAbsCall::compile_call_to_c";
 val_t compiling___compiling_icode___IAbsCall___compile_call_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 572;
+  fra.me.line = 574;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 0;
   fra.me.nitni_local_ref_head = NULL;
-  /* compiling/compiling_icode.nit:572 */
-  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 572);
+  /* compiling/compiling_icode.nit:574 */
+  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 574);
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
+static const char LOCATE_compiling___compiling_icode___ICall___compile_call_to_c[] = "compiling_icode::ICall::(compiling_icode::IAbsCall::compile_call_to_c)";
 val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -4101,7 +4145,7 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
   static val_t once_value_6; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 577;
+  fra.me.line = 579;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICall___compile_call_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -4114,17 +4158,17 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:579 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* compiling/compiling_icode.nit:583 */
+  /* compiling/compiling_icode.nit:581 */
+  fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:585 */
   REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     fra.me.REG[3] = fra.me.REG[1];
     goto label1;
   }
-  /* compiling/compiling_icode.nit:585 */
+  /* compiling/compiling_icode.nit:587 */
   fra.me.REG[0] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:586 */
+  /* compiling/compiling_icode.nit:588 */
   fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[4])(fra.me.REG[4]);
   if (UNTAG_Bool(REGB0)) {
@@ -4138,11 +4182,11 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
     fra.me.REG[4] = fra.me.REG[4];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
   }
-  /* compiling/compiling_icode.nit:587 */
+  /* compiling/compiling_icode.nit:589 */
   fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:588 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:590 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4151,11 +4195,11 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:589 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:591 */
   fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:590 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:592 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")(");
     REGB0 = TAG_Int(2);
@@ -4164,8 +4208,8 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:591 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:593 */
   if (!once_value_5) {
     fra.me.REG[0] = BOX_NativeString(", ");
     REGB0 = TAG_Int(2);
@@ -4174,8 +4218,8 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
     register_static_object(&once_value_5);
   } else fra.me.REG[0] = once_value_5;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:592 */
+  CALL_compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:594 */
   if (!once_value_6) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4184,14 +4228,15 @@ val_t compiling___compiling_icode___ICall___compile_call_to_c(val_t p0, val_t p1
     register_static_object(&once_value_6);
   } else fra.me.REG[0] = once_value_6;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:593 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:595 */
   fra.me.REG[3] = fra.me.REG[1];
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c[] = "compiling_icode::ISuper::(compiling_icode::IAbsCall::compile_call_to_c)";
 val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -4203,7 +4248,7 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
   static val_t once_value_6; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 598;
+  fra.me.line = 600;
   fra.me.meth = LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -4215,15 +4260,15 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:602 */
+  /* compiling/compiling_icode.nit:604 */
   REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
-    fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
+    fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
     goto label1;
   }
-  /* compiling/compiling_icode.nit:604 */
+  /* compiling/compiling_icode.nit:606 */
   fra.me.REG[0] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:605 */
+  /* compiling/compiling_icode.nit:607 */
   fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB0)) {
@@ -4237,12 +4282,12 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
     fra.me.REG[3] = fra.me.REG[3];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
   }
-  /* compiling/compiling_icode.nit:606 */
-  fra.me.REG[3] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* compiling/compiling_icode.nit:607 */
-  fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
   /* compiling/compiling_icode.nit:608 */
+  fra.me.REG[3] = NEW_Writer_compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:609 */
+  fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra.me.REG[0])(fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:610 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4251,11 +4296,11 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:609 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:611 */
   fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:610 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:612 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")(");
     REGB0 = TAG_Int(2);
@@ -4264,8 +4309,8 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:611 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:613 */
   if (!once_value_5) {
     fra.me.REG[0] = BOX_NativeString(", ");
     REGB0 = TAG_Int(2);
@@ -4274,8 +4319,8 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
     register_static_object(&once_value_5);
   } else fra.me.REG[0] = once_value_5;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:612 */
+  CALL_compiling_writer___Writer___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:614 */
   if (!once_value_6) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4284,14 +4329,15 @@ val_t compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0, val_t p
     register_static_object(&once_value_6);
   } else fra.me.REG[0] = once_value_6;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:613 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:615 */
   fra.me.REG[1] = fra.me.REG[3];
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_compiling___compiling_icode___INew___compile_call_to_c[] = "compiling_icode::INew::(compiling_icode::IAbsCall::compile_call_to_c)";
 val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -4303,7 +4349,7 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
   static val_t once_value_6; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 618;
+  fra.me.line = 620;
   fra.me.meth = LOCATE_compiling___compiling_icode___INew___compile_call_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -4316,15 +4362,15 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:620 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* compiling/compiling_icode.nit:624 */
+  /* compiling/compiling_icode.nit:622 */
+  fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:626 */
   REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     fra.me.REG[3] = fra.me.REG[1];
     goto label1;
   }
-  /* compiling/compiling_icode.nit:626 */
+  /* compiling/compiling_icode.nit:628 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString("NEW_");
     REGB0 = TAG_Int(4);
@@ -4333,13 +4379,13 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
     register_static_object(&once_value_2);
   } else fra.me.REG[4] = once_value_2;
   fra.me.REG[4] = fra.me.REG[4];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:627 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:629 */
   fra.me.REG[4] = CALL_icode___icode_base___INew___stype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[4])(fra.me.REG[4]);
   fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:628 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:630 */
   if (!once_value_3) {
     fra.me.REG[4] = BOX_NativeString("_");
     REGB0 = TAG_Int(1);
@@ -4348,14 +4394,14 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
     register_static_object(&once_value_3);
   } else fra.me.REG[4] = once_value_3;
   fra.me.REG[4] = fra.me.REG[4];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:629 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:631 */
   fra.me.REG[0] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:630 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:632 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4364,8 +4410,8 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:631 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:633 */
   if (!once_value_5) {
     fra.me.REG[0] = BOX_NativeString(", ");
     REGB0 = TAG_Int(2);
@@ -4374,8 +4420,8 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
     register_static_object(&once_value_5);
   } else fra.me.REG[0] = once_value_5;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:632 */
+  CALL_compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:634 */
   if (!once_value_6) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4384,14 +4430,15 @@ val_t compiling___compiling_icode___INew___compile_call_to_c(val_t p0, val_t p1,
     register_static_object(&once_value_6);
   } else fra.me.REG[0] = once_value_6;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:633 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:635 */
   fra.me.REG[3] = fra.me.REG[1];
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c[] = "compiling_icode::IAllocateInstance::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -4400,7 +4447,7 @@ void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, va
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 638;
+  fra.me.line = 640;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4410,12 +4457,12 @@ void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, va
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:640 */
+  /* compiling/compiling_icode.nit:642 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:641 */
+  /* compiling/compiling_icode.nit:643 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:642 */
+  /* compiling/compiling_icode.nit:644 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("NEW_");
     REGB0 = TAG_Int(4);
@@ -4424,13 +4471,13 @@ void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, va
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:643 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:645 */
   fra.me.REG[0] = CALL_icode___icode_base___IAllocateInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalClass___cname(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:644 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:646 */
   if (!once_value_2) {
     fra.me.REG[0] = BOX_NativeString("()");
     REGB0 = TAG_Int(2);
@@ -4439,10 +4486,11 @@ void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, va
     register_static_object(&once_value_2);
   } else fra.me.REG[0] = once_value_2;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c[] = "compiling_icode::ICheckInstance::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -4452,7 +4500,7 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 649;
+  fra.me.line = 651;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -4463,12 +4511,12 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:651 */
+  /* compiling/compiling_icode.nit:653 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:652 */
+  /* compiling/compiling_icode.nit:654 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:653 */
+  /* compiling/compiling_icode.nit:655 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("CHECKNEW_");
     REGB0 = TAG_Int(9);
@@ -4477,13 +4525,13 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
     register_static_object(&once_value_1);
   } else fra.me.REG[3] = once_value_1;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:654 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:656 */
   fra.me.REG[3] = CALL_icode___icode_base___ICheckInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:655 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:657 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4492,12 +4540,12 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:656 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:658 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:657 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:659 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4506,10 +4554,11 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c[] = "compiling_icode::IInitAttributes::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -4519,7 +4568,7 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 662;
+  fra.me.line = 664;
   fra.me.meth = LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -4530,12 +4579,12 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:664 */
+  /* compiling/compiling_icode.nit:666 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:665 */
+  /* compiling/compiling_icode.nit:667 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:666 */
+  /* compiling/compiling_icode.nit:668 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("INIT_ATTRIBUTES__");
     REGB0 = TAG_Int(17);
@@ -4544,13 +4593,13 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
     register_static_object(&once_value_1);
   } else fra.me.REG[3] = once_value_1;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:667 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:669 */
   fra.me.REG[3] = CALL_icode___icode_base___IInitAttributes___stype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:668 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:670 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4559,12 +4608,12 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:669 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:671 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:670 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:672 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(");\n");
     REGB0 = TAG_Int(3);
@@ -4573,10 +4622,11 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c[] = "compiling_icode::IStaticCall::(compiling_icode::IAbsCall::compile_call_to_c)";
 val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -4587,7 +4637,7 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
   static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 675;
+  fra.me.line = 677;
   fra.me.meth = LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4598,9 +4648,9 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* compiling/compiling_icode.nit:677 */
+  /* compiling/compiling_icode.nit:679 */
   fra.me.REG[1] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:678 */
+  /* compiling/compiling_icode.nit:680 */
   fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
@@ -4614,13 +4664,13 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
     fra.me.REG[1] = fra.me.REG[1];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   }
-  /* compiling/compiling_icode.nit:679 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* compiling/compiling_icode.nit:680 */
+  /* compiling/compiling_icode.nit:681 */
+  fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:682 */
   fra.me.REG[0] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:681 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:683 */
   if (!once_value_2) {
     fra.me.REG[0] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4629,8 +4679,8 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
     register_static_object(&once_value_2);
   } else fra.me.REG[0] = once_value_2;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:682 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:684 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(", ");
     REGB0 = TAG_Int(2);
@@ -4639,8 +4689,8 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:683 */
+  CALL_compiling_writer___Writer___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:685 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4649,20 +4699,21 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:684 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:686 */
   goto label5;
   label5: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_compiling___compiling_icode___INative___compile_to_c[] = "compiling_icode::INative::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___INative___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 689;
+  fra.me.line = 691;
   fra.me.meth = LOCATE_compiling___compiling_icode___INative___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4672,29 +4723,30 @@ void compiling___compiling_icode___INative___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:691 */
+  /* compiling/compiling_icode.nit:693 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:692 */
+  /* compiling/compiling_icode.nit:694 */
   fra.me.REG[2] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_metamodel___abstractmetamodel___MMMethod___is_intern(fra.me.REG[2])(fra.me.REG[2]);
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:693 */
+    /* compiling/compiling_icode.nit:695 */
     CALL_compiling___compiling_icode___INative___compile_intern_method_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   } else {
-    /* compiling/compiling_icode.nit:694 */
+    /* compiling/compiling_icode.nit:696 */
     fra.me.REG[2] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:695 */
+      /* compiling/compiling_icode.nit:697 */
       CALL_compiling___compiling_icode___INative___compile_extern_method_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
     }
   }
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c[] = "compiling_icode::INative::compile_extern_method_to_c";
 void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -4711,7 +4763,7 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   static val_t once_value_9; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 699;
+  fra.me.line = 701;
   fra.me.meth = LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -4725,7 +4777,7 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:701 */
+  /* compiling/compiling_icode.nit:703 */
   REGB0 = TAG_Int(3);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_1) {
@@ -4752,39 +4804,39 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   fra.me.REG[4] = fra.me.REG[4];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
   fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:703 */
+  /* compiling/compiling_icode.nit:705 */
   fra.me.REG[4] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[4])(fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:704 */
+  /* compiling/compiling_icode.nit:706 */
   fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
   REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 704);
+    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 706);
   }
   REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* compiling/compiling_icode.nit:704 */
+  /* compiling/compiling_icode.nit:706 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* compiling/compiling_icode.nit:704 */
+    /* compiling/compiling_icode.nit:706 */
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 704);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 706);
   }
-  /* compiling/compiling_icode.nit:706 */
+  /* compiling/compiling_icode.nit:708 */
   fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:708 */
+  /* compiling/compiling_icode.nit:710 */
   fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
-  /* compiling/compiling_icode.nit:709 */
+  /* compiling/compiling_icode.nit:711 */
   REGB1 = TAG_Int(0);
   /* ../lib/standard/collection/array.nit:278 */
   fra.me.REG[6] = fra.me.REG[3];
@@ -4795,7 +4847,7 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
   /* ../lib/standard/collection/array.nit:280 */
   if (UNTAG_Bool(REGB2)) {
@@ -4810,11 +4862,11 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
   } else {
     /* ../lib/standard/collection/array.nit:280 */
-    REGB0 = TAG_Bool(false);
+    REGB0 = TAG_Bool(0);
     REGB2 = REGB0;
   }
   if (UNTAG_Bool(REGB2)) {
@@ -4832,31 +4884,31 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   /* ../lib/standard/collection/array.nit:281 */
   goto label3;
   label3: while(0);
-  /* compiling/compiling_icode.nit:709 */
+  /* compiling/compiling_icode.nit:711 */
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-  /* compiling/compiling_icode.nit:710 */
+  /* compiling/compiling_icode.nit:712 */
   REGB1 = TAG_Int(0);
   REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
-    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 710);
+    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 712);
   }
   REGB2 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB0)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:710 */
+      /* compiling/compiling_icode.nit:712 */
       REGB0 = REGB1;
-      /* compiling/compiling_icode.nit:711 */
+      /* compiling/compiling_icode.nit:713 */
       REGB3 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
       /* ../lib/standard/collection/array.nit:278 */
       fra.me.REG[4] = fra.me.REG[3];
@@ -4867,7 +4919,7 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB0));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB0)) {
@@ -4882,11 +4934,11 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB0 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB0));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB4 = TAG_Bool(false);
+        REGB4 = TAG_Bool(0);
         REGB0 = REGB4;
       }
       if (UNTAG_Bool(REGB0)) {
@@ -4904,21 +4956,21 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
       /* ../lib/standard/collection/array.nit:281 */
       goto label4;
       label4: while(0);
-      /* compiling/compiling_icode.nit:711 */
+      /* compiling/compiling_icode.nit:713 */
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB3 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB1 = REGB3;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label5;
     }
   }
   label5: while(0);
-  /* compiling/compiling_icode.nit:713 */
+  /* compiling/compiling_icode.nit:715 */
   REGB1 = TAG_Int(5);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_6) {
@@ -4960,17 +5012,18 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:715 */
+  /* compiling/compiling_icode.nit:717 */
   REGB1 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB1)) {
   }
-  /* compiling/compiling_icode.nit:716 */
+  /* compiling/compiling_icode.nit:718 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:717 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:719 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c[] = "compiling_icode::INative::compile_intern_method_to_c";
 void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -5343,7 +5396,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     static val_t once_value_484; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 720;
+  fra.me.line = 722;
   fra.me.meth = LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 8;
@@ -5358,46 +5411,46 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
   fra.me.REG[7] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:722 */
+  /* compiling/compiling_icode.nit:724 */
   fra.me.REG[2] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:723 */
+  /* compiling/compiling_icode.nit:725 */
   fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
   REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 723);
+    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 725);
   }
   REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[2])(fra.me.REG[2]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* compiling/compiling_icode.nit:723 */
+  /* compiling/compiling_icode.nit:725 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* compiling/compiling_icode.nit:723 */
+    /* compiling/compiling_icode.nit:725 */
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 723);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 725);
   }
-  /* compiling/compiling_icode.nit:724 */
+  /* compiling/compiling_icode.nit:726 */
   fra.me.REG[2] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:725 */
+  /* compiling/compiling_icode.nit:727 */
   fra.me.REG[3] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[3])(fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:726 */
+  /* compiling/compiling_icode.nit:728 */
   fra.me.REG[4] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:727 */
+  /* compiling/compiling_icode.nit:729 */
   fra.me.REG[5] = NIT_NULL;
-  /* compiling/compiling_icode.nit:728 */
+  /* compiling/compiling_icode.nit:730 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[6] = BOX_NativeString("Int");
@@ -5407,7 +5460,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       register_static_object(&once_value_2);
     } else fra.me.REG[6] = once_value_2;
     fra.me.REG[6] = fra.me.REG[6];
-    fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+    fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
     once_value_1 = fra.me.REG[6];
     register_static_object(&once_value_1);
   } else fra.me.REG[6] = once_value_1;
@@ -5419,7 +5472,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:729 */
+    /* compiling/compiling_icode.nit:731 */
     if (!once_value_3) {
       if (!once_value_4) {
         fra.me.REG[6] = BOX_NativeString("object_id");
@@ -5429,7 +5482,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         register_static_object(&once_value_4);
       } else fra.me.REG[6] = once_value_4;
       fra.me.REG[6] = fra.me.REG[6];
-      fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+      fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
       once_value_3 = fra.me.REG[6];
       register_static_object(&once_value_3);
     } else fra.me.REG[6] = once_value_3;
@@ -5441,7 +5494,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       REGB1 = REGB2;
     }
     if (UNTAG_Bool(REGB1)) {
-      /* compiling/compiling_icode.nit:730 */
+      /* compiling/compiling_icode.nit:732 */
       REGB1 = TAG_Int(0);
       /* ../lib/standard/collection/array.nit:278 */
       fra.me.REG[6] = fra.me.REG[4];
@@ -5452,7 +5505,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB2)) {
@@ -5467,11 +5520,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB0 = TAG_Bool(false);
+        REGB0 = TAG_Bool(0);
         REGB2 = REGB0;
       }
       if (UNTAG_Bool(REGB2)) {
@@ -5489,10 +5542,10 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       /* ../lib/standard/collection/array.nit:281 */
       goto label5;
       label5: while(0);
-      /* compiling/compiling_icode.nit:730 */
+      /* compiling/compiling_icode.nit:732 */
       fra.me.REG[5] = fra.me.REG[6];
     } else {
-      /* compiling/compiling_icode.nit:731 */
+      /* compiling/compiling_icode.nit:733 */
       if (!once_value_6) {
         if (!once_value_7) {
           fra.me.REG[6] = BOX_NativeString("unary -");
@@ -5502,7 +5555,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           register_static_object(&once_value_7);
         } else fra.me.REG[6] = once_value_7;
         fra.me.REG[6] = fra.me.REG[6];
-        fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+        fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
         once_value_6 = fra.me.REG[6];
         register_static_object(&once_value_6);
       } else fra.me.REG[6] = once_value_6;
@@ -5514,7 +5567,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
-        /* compiling/compiling_icode.nit:732 */
+        /* compiling/compiling_icode.nit:734 */
         REGB1 = TAG_Int(3);
         fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
         if (!once_value_8) {
@@ -5536,7 +5589,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:233 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
         /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB2)) {
@@ -5551,11 +5604,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
           /* ../lib/standard/collection/array.nit:280 */
-          REGB0 = TAG_Bool(false);
+          REGB0 = TAG_Bool(0);
           REGB2 = REGB0;
         }
         if (UNTAG_Bool(REGB2)) {
@@ -5573,7 +5626,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         /* ../lib/standard/collection/array.nit:281 */
         goto label9;
         label9: while(0);
-        /* compiling/compiling_icode.nit:732 */
+        /* compiling/compiling_icode.nit:734 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
         if (!once_value_10) {
           fra.me.REG[7] = BOX_NativeString("))");
@@ -5587,7 +5640,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
         fra.me.REG[5] = fra.me.REG[6];
       } else {
-        /* compiling/compiling_icode.nit:733 */
+        /* compiling/compiling_icode.nit:735 */
         if (!once_value_11) {
           if (!once_value_12) {
             fra.me.REG[6] = BOX_NativeString("output");
@@ -5597,7 +5650,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             register_static_object(&once_value_12);
           } else fra.me.REG[6] = once_value_12;
           fra.me.REG[6] = fra.me.REG[6];
-          fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+          fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
           once_value_11 = fra.me.REG[6];
           register_static_object(&once_value_11);
         } else fra.me.REG[6] = once_value_11;
@@ -5609,7 +5662,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
-          /* compiling/compiling_icode.nit:734 */
+          /* compiling/compiling_icode.nit:736 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_13) {
@@ -5631,7 +5684,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:233 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
           /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
@@ -5646,11 +5699,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:232 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
             /* ../lib/standard/collection/array.nit:280 */
-            REGB0 = TAG_Bool(false);
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
@@ -5668,7 +5721,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           /* ../lib/standard/collection/array.nit:281 */
           goto label14;
           label14: while(0);
-          /* compiling/compiling_icode.nit:734 */
+          /* compiling/compiling_icode.nit:736 */
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
           if (!once_value_15) {
             fra.me.REG[7] = BOX_NativeString("));");
@@ -5682,7 +5735,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
           fra.me.REG[5] = fra.me.REG[6];
         } else {
-          /* compiling/compiling_icode.nit:735 */
+          /* compiling/compiling_icode.nit:737 */
           if (!once_value_16) {
             if (!once_value_17) {
               fra.me.REG[6] = BOX_NativeString("ascii");
@@ -5692,7 +5745,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               register_static_object(&once_value_17);
             } else fra.me.REG[6] = once_value_17;
             fra.me.REG[6] = fra.me.REG[6];
-            fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+            fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
             once_value_16 = fra.me.REG[6];
             register_static_object(&once_value_16);
           } else fra.me.REG[6] = once_value_16;
@@ -5704,7 +5757,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             REGB1 = REGB2;
           }
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:736 */
+            /* compiling/compiling_icode.nit:738 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_18) {
@@ -5726,7 +5779,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:233 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
             /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
@@ -5741,11 +5794,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:232 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
               /* ../lib/standard/collection/array.nit:280 */
-              REGB0 = TAG_Bool(false);
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
@@ -5763,7 +5816,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             /* ../lib/standard/collection/array.nit:281 */
             goto label19;
             label19: while(0);
-            /* compiling/compiling_icode.nit:736 */
+            /* compiling/compiling_icode.nit:738 */
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
             if (!once_value_20) {
               fra.me.REG[7] = BOX_NativeString("))");
@@ -5777,7 +5830,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
             fra.me.REG[5] = fra.me.REG[6];
           } else {
-            /* compiling/compiling_icode.nit:737 */
+            /* compiling/compiling_icode.nit:739 */
             if (!once_value_21) {
               if (!once_value_22) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -5787,7 +5840,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_22);
               } else fra.me.REG[6] = once_value_22;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_21 = fra.me.REG[6];
               register_static_object(&once_value_21);
             } else fra.me.REG[6] = once_value_21;
@@ -5799,7 +5852,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:738 */
+              /* compiling/compiling_icode.nit:740 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_23) {
@@ -5821,7 +5874,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:233 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
               /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
@@ -5836,11 +5889,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
@@ -5858,7 +5911,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               /* ../lib/standard/collection/array.nit:281 */
               goto label24;
               label24: while(0);
-              /* compiling/compiling_icode.nit:738 */
+              /* compiling/compiling_icode.nit:740 */
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
               if (!once_value_25) {
                fra.me.REG[7] = BOX_NativeString(")+1)");
@@ -5872,7 +5925,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
               fra.me.REG[5] = fra.me.REG[6];
             } else {
-              /* compiling/compiling_icode.nit:739 */
+              /* compiling/compiling_icode.nit:741 */
               if (!once_value_26) {
                if (!once_value_27) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -5882,7 +5935,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_27);
                } else fra.me.REG[6] = once_value_27;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_26 = fra.me.REG[6];
                register_static_object(&once_value_26);
               } else fra.me.REG[6] = once_value_26;
@@ -5894,7 +5947,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:740 */
+               /* compiling/compiling_icode.nit:742 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_28) {
@@ -5916,7 +5969,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -5931,11 +5984,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -5953,7 +6006,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label29;
                label29: while(0);
-               /* compiling/compiling_icode.nit:740 */
+               /* compiling/compiling_icode.nit:742 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_30) {
                fra.me.REG[7] = BOX_NativeString(")-1)");
@@ -5967,7 +6020,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:741 */
+               /* compiling/compiling_icode.nit:743 */
                if (!once_value_31) {
                if (!once_value_32) {
                fra.me.REG[6] = BOX_NativeString("to_f");
@@ -5977,7 +6030,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_32);
                } else fra.me.REG[6] = once_value_32;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_31 = fra.me.REG[6];
                register_static_object(&once_value_31);
                } else fra.me.REG[6] = once_value_31;
@@ -5989,7 +6042,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:742 */
+               /* compiling/compiling_icode.nit:744 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_33) {
@@ -6011,7 +6064,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6026,11 +6079,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6048,7 +6101,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label34;
                label34: while(0);
-               /* compiling/compiling_icode.nit:742 */
+               /* compiling/compiling_icode.nit:744 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_35) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6062,7 +6115,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:743 */
+               /* compiling/compiling_icode.nit:745 */
                if (!once_value_36) {
                if (!once_value_37) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -6072,7 +6125,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_37);
                } else fra.me.REG[6] = once_value_37;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_36 = fra.me.REG[6];
                register_static_object(&once_value_36);
                } else fra.me.REG[6] = once_value_36;
@@ -6084,7 +6137,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:744 */
+               /* compiling/compiling_icode.nit:746 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_38) {
@@ -6106,7 +6159,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6121,11 +6174,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6143,7 +6196,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label39;
                label39: while(0);
-               /* compiling/compiling_icode.nit:744 */
+               /* compiling/compiling_icode.nit:746 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_40) {
                fra.me.REG[7] = BOX_NativeString(")+UNTAG_Int(");
@@ -6164,7 +6217,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6179,11 +6232,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6201,7 +6254,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label41;
                label41: while(0);
-               /* compiling/compiling_icode.nit:744 */
+               /* compiling/compiling_icode.nit:746 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_42) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6215,7 +6268,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:745 */
+               /* compiling/compiling_icode.nit:747 */
                if (!once_value_43) {
                if (!once_value_44) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -6225,7 +6278,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_44);
                } else fra.me.REG[6] = once_value_44;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_43 = fra.me.REG[6];
                register_static_object(&once_value_43);
                } else fra.me.REG[6] = once_value_43;
@@ -6237,7 +6290,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:746 */
+               /* compiling/compiling_icode.nit:748 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_45) {
@@ -6259,7 +6312,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6274,11 +6327,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6296,7 +6349,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label46;
                label46: while(0);
-               /* compiling/compiling_icode.nit:746 */
+               /* compiling/compiling_icode.nit:748 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_47) {
                fra.me.REG[7] = BOX_NativeString(")-UNTAG_Int(");
@@ -6317,7 +6370,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6332,11 +6385,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6354,7 +6407,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label48;
                label48: while(0);
-               /* compiling/compiling_icode.nit:746 */
+               /* compiling/compiling_icode.nit:748 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_49) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6368,7 +6421,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:747 */
+               /* compiling/compiling_icode.nit:749 */
                if (!once_value_50) {
                if (!once_value_51) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -6378,7 +6431,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_51);
                } else fra.me.REG[6] = once_value_51;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_50 = fra.me.REG[6];
                register_static_object(&once_value_50);
                } else fra.me.REG[6] = once_value_50;
@@ -6390,7 +6443,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:748 */
+               /* compiling/compiling_icode.nit:750 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_52) {
@@ -6412,7 +6465,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6427,11 +6480,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6449,7 +6502,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label53;
                label53: while(0);
-               /* compiling/compiling_icode.nit:748 */
+               /* compiling/compiling_icode.nit:750 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_54) {
                fra.me.REG[7] = BOX_NativeString(")*UNTAG_Int(");
@@ -6470,7 +6523,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6485,11 +6538,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6507,7 +6560,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label55;
                label55: while(0);
-               /* compiling/compiling_icode.nit:748 */
+               /* compiling/compiling_icode.nit:750 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_56) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6521,7 +6574,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:749 */
+               /* compiling/compiling_icode.nit:751 */
                if (!once_value_57) {
                if (!once_value_58) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -6531,7 +6584,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_58);
                } else fra.me.REG[6] = once_value_58;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_57 = fra.me.REG[6];
                register_static_object(&once_value_57);
                } else fra.me.REG[6] = once_value_57;
@@ -6543,7 +6596,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:750 */
+               /* compiling/compiling_icode.nit:752 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_59) {
@@ -6565,7 +6618,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6580,11 +6633,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6602,7 +6655,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label60;
                label60: while(0);
-               /* compiling/compiling_icode.nit:750 */
+               /* compiling/compiling_icode.nit:752 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_61) {
                fra.me.REG[7] = BOX_NativeString(")/UNTAG_Int(");
@@ -6623,7 +6676,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6638,11 +6691,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6660,7 +6713,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label62;
                label62: while(0);
-               /* compiling/compiling_icode.nit:750 */
+               /* compiling/compiling_icode.nit:752 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_63) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6674,7 +6727,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:751 */
+               /* compiling/compiling_icode.nit:753 */
                if (!once_value_64) {
                if (!once_value_65) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -6684,7 +6737,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_65);
                } else fra.me.REG[6] = once_value_65;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_64 = fra.me.REG[6];
                register_static_object(&once_value_64);
                } else fra.me.REG[6] = once_value_64;
@@ -6696,7 +6749,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:752 */
+               /* compiling/compiling_icode.nit:754 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_66) {
@@ -6718,7 +6771,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6733,11 +6786,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6755,7 +6808,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label67;
                label67: while(0);
-               /* compiling/compiling_icode.nit:752 */
+               /* compiling/compiling_icode.nit:754 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_68) {
                fra.me.REG[7] = BOX_NativeString(")%UNTAG_Int(");
@@ -6776,7 +6829,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6791,11 +6844,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6813,7 +6866,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label69;
                label69: while(0);
-               /* compiling/compiling_icode.nit:752 */
+               /* compiling/compiling_icode.nit:754 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_70) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6827,7 +6880,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:753 */
+               /* compiling/compiling_icode.nit:755 */
                if (!once_value_71) {
                if (!once_value_72) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -6837,7 +6890,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_72);
                } else fra.me.REG[6] = once_value_72;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_71 = fra.me.REG[6];
                register_static_object(&once_value_71);
                } else fra.me.REG[6] = once_value_71;
@@ -6849,7 +6902,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:754 */
+               /* compiling/compiling_icode.nit:756 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_73) {
@@ -6871,7 +6924,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6886,11 +6939,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6908,7 +6961,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label74;
                label74: while(0);
-               /* compiling/compiling_icode.nit:754 */
+               /* compiling/compiling_icode.nit:756 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_75) {
                fra.me.REG[7] = BOX_NativeString(")<UNTAG_Int(");
@@ -6929,7 +6982,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -6944,11 +6997,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -6966,7 +7019,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label76;
                label76: while(0);
-               /* compiling/compiling_icode.nit:754 */
+               /* compiling/compiling_icode.nit:756 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_77) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -6980,7 +7033,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:755 */
+               /* compiling/compiling_icode.nit:757 */
                if (!once_value_78) {
                if (!once_value_79) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -6990,7 +7043,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_79);
                } else fra.me.REG[6] = once_value_79;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_78 = fra.me.REG[6];
                register_static_object(&once_value_78);
                } else fra.me.REG[6] = once_value_78;
@@ -7002,7 +7055,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:756 */
+               /* compiling/compiling_icode.nit:758 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_80) {
@@ -7024,7 +7077,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7039,11 +7092,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7061,7 +7114,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label81;
                label81: while(0);
-               /* compiling/compiling_icode.nit:756 */
+               /* compiling/compiling_icode.nit:758 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_82) {
                fra.me.REG[7] = BOX_NativeString(")>UNTAG_Int(");
@@ -7082,7 +7135,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7097,11 +7150,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7119,7 +7172,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label83;
                label83: while(0);
-               /* compiling/compiling_icode.nit:756 */
+               /* compiling/compiling_icode.nit:758 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_84) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7133,7 +7186,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:757 */
+               /* compiling/compiling_icode.nit:759 */
                if (!once_value_85) {
                if (!once_value_86) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -7143,7 +7196,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_86);
                } else fra.me.REG[6] = once_value_86;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_85 = fra.me.REG[6];
                register_static_object(&once_value_85);
                } else fra.me.REG[6] = once_value_85;
@@ -7155,7 +7208,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:758 */
+               /* compiling/compiling_icode.nit:760 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_87) {
@@ -7177,7 +7230,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7192,11 +7245,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7214,7 +7267,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label88;
                label88: while(0);
-               /* compiling/compiling_icode.nit:758 */
+               /* compiling/compiling_icode.nit:760 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_89) {
                fra.me.REG[7] = BOX_NativeString(")<=UNTAG_Int(");
@@ -7235,7 +7288,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7250,11 +7303,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7272,7 +7325,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label90;
                label90: while(0);
-               /* compiling/compiling_icode.nit:758 */
+               /* compiling/compiling_icode.nit:760 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_91) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7286,7 +7339,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:759 */
+               /* compiling/compiling_icode.nit:761 */
                if (!once_value_92) {
                if (!once_value_93) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -7296,7 +7349,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_93);
                } else fra.me.REG[6] = once_value_93;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_92 = fra.me.REG[6];
                register_static_object(&once_value_92);
                } else fra.me.REG[6] = once_value_92;
@@ -7308,7 +7361,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:760 */
+               /* compiling/compiling_icode.nit:762 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_94) {
@@ -7330,7 +7383,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7345,11 +7398,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7367,7 +7420,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label95;
                label95: while(0);
-               /* compiling/compiling_icode.nit:760 */
+               /* compiling/compiling_icode.nit:762 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_96) {
                fra.me.REG[7] = BOX_NativeString(")>=UNTAG_Int(");
@@ -7388,7 +7441,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7403,11 +7456,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7425,7 +7478,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label97;
                label97: while(0);
-               /* compiling/compiling_icode.nit:760 */
+               /* compiling/compiling_icode.nit:762 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_98) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7439,7 +7492,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:761 */
+               /* compiling/compiling_icode.nit:763 */
                if (!once_value_99) {
                if (!once_value_100) {
                fra.me.REG[6] = BOX_NativeString("lshift");
@@ -7449,7 +7502,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_100);
                } else fra.me.REG[6] = once_value_100;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_99 = fra.me.REG[6];
                register_static_object(&once_value_99);
                } else fra.me.REG[6] = once_value_99;
@@ -7461,7 +7514,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:762 */
+               /* compiling/compiling_icode.nit:764 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_101) {
@@ -7483,7 +7536,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7498,11 +7551,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7520,7 +7573,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label102;
                label102: while(0);
-               /* compiling/compiling_icode.nit:762 */
+               /* compiling/compiling_icode.nit:764 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_103) {
                fra.me.REG[7] = BOX_NativeString(")<<UNTAG_Int(");
@@ -7541,7 +7594,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7556,11 +7609,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7578,7 +7631,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label104;
                label104: while(0);
-               /* compiling/compiling_icode.nit:762 */
+               /* compiling/compiling_icode.nit:764 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_105) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7592,7 +7645,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:763 */
+               /* compiling/compiling_icode.nit:765 */
                if (!once_value_106) {
                if (!once_value_107) {
                fra.me.REG[6] = BOX_NativeString("rshift");
@@ -7602,7 +7655,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_107);
                } else fra.me.REG[6] = once_value_107;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_106 = fra.me.REG[6];
                register_static_object(&once_value_106);
                } else fra.me.REG[6] = once_value_106;
@@ -7614,7 +7667,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:764 */
+               /* compiling/compiling_icode.nit:766 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_108) {
@@ -7636,7 +7689,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7651,11 +7704,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7673,7 +7726,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label109;
                label109: while(0);
-               /* compiling/compiling_icode.nit:764 */
+               /* compiling/compiling_icode.nit:766 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_110) {
                fra.me.REG[7] = BOX_NativeString(")>>UNTAG_Int(");
@@ -7694,7 +7747,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7709,11 +7762,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7731,7 +7784,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label111;
                label111: while(0);
-               /* compiling/compiling_icode.nit:764 */
+               /* compiling/compiling_icode.nit:766 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_112) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7745,7 +7798,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:765 */
+               /* compiling/compiling_icode.nit:767 */
                if (!once_value_113) {
                if (!once_value_114) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -7755,7 +7808,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_114);
                } else fra.me.REG[6] = once_value_114;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_113 = fra.me.REG[6];
                register_static_object(&once_value_113);
                } else fra.me.REG[6] = once_value_113;
@@ -7767,7 +7820,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:766 */
+               /* compiling/compiling_icode.nit:768 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_115) {
@@ -7789,7 +7842,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7804,11 +7857,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7826,7 +7879,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label116;
                label116: while(0);
-               /* compiling/compiling_icode.nit:766 */
+               /* compiling/compiling_icode.nit:768 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_117) {
                fra.me.REG[7] = BOX_NativeString(")==(");
@@ -7847,7 +7900,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7862,11 +7915,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7884,7 +7937,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label118;
                label118: while(0);
-               /* compiling/compiling_icode.nit:766 */
+               /* compiling/compiling_icode.nit:768 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_119) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -7898,7 +7951,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:767 */
+               /* compiling/compiling_icode.nit:769 */
                if (!once_value_120) {
                if (!once_value_121) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -7908,7 +7961,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_121);
                } else fra.me.REG[6] = once_value_121;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_120 = fra.me.REG[6];
                register_static_object(&once_value_120);
                } else fra.me.REG[6] = once_value_120;
@@ -7920,7 +7973,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:768 */
+               /* compiling/compiling_icode.nit:770 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_122) {
@@ -7942,7 +7995,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -7957,11 +8010,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -7979,7 +8032,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label123;
                label123: while(0);
-               /* compiling/compiling_icode.nit:768 */
+               /* compiling/compiling_icode.nit:770 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_124) {
                fra.me.REG[7] = BOX_NativeString(")!=(");
@@ -8000,7 +8053,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8015,11 +8068,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8037,7 +8090,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label125;
                label125: while(0);
-               /* compiling/compiling_icode.nit:768 */
+               /* compiling/compiling_icode.nit:770 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_126) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -8071,7 +8124,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   } else {
-    /* compiling/compiling_icode.nit:770 */
+    /* compiling/compiling_icode.nit:772 */
     if (!once_value_127) {
       if (!once_value_128) {
         fra.me.REG[6] = BOX_NativeString("Float");
@@ -8081,7 +8134,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         register_static_object(&once_value_128);
       } else fra.me.REG[6] = once_value_128;
       fra.me.REG[6] = fra.me.REG[6];
-      fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+      fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
       once_value_127 = fra.me.REG[6];
       register_static_object(&once_value_127);
     } else fra.me.REG[6] = once_value_127;
@@ -8093,7 +8146,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       REGB1 = REGB2;
     }
     if (UNTAG_Bool(REGB1)) {
-      /* compiling/compiling_icode.nit:771 */
+      /* compiling/compiling_icode.nit:773 */
       if (!once_value_129) {
         if (!once_value_130) {
           fra.me.REG[6] = BOX_NativeString("object_id");
@@ -8103,7 +8156,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           register_static_object(&once_value_130);
         } else fra.me.REG[6] = once_value_130;
         fra.me.REG[6] = fra.me.REG[6];
-        fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+        fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
         once_value_129 = fra.me.REG[6];
         register_static_object(&once_value_129);
       } else fra.me.REG[6] = once_value_129;
@@ -8115,7 +8168,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
-        /* compiling/compiling_icode.nit:772 */
+        /* compiling/compiling_icode.nit:774 */
         REGB1 = TAG_Int(3);
         fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
         if (!once_value_131) {
@@ -8137,7 +8190,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:233 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
         /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB2)) {
@@ -8152,11 +8205,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
           /* ../lib/standard/collection/array.nit:280 */
-          REGB0 = TAG_Bool(false);
+          REGB0 = TAG_Bool(0);
           REGB2 = REGB0;
         }
         if (UNTAG_Bool(REGB2)) {
@@ -8174,7 +8227,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         /* ../lib/standard/collection/array.nit:281 */
         goto label132;
         label132: while(0);
-        /* compiling/compiling_icode.nit:772 */
+        /* compiling/compiling_icode.nit:774 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
         if (!once_value_133) {
           fra.me.REG[7] = BOX_NativeString("))");
@@ -8188,7 +8241,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
         fra.me.REG[5] = fra.me.REG[6];
       } else {
-        /* compiling/compiling_icode.nit:773 */
+        /* compiling/compiling_icode.nit:775 */
         if (!once_value_134) {
           if (!once_value_135) {
             fra.me.REG[6] = BOX_NativeString("unary -");
@@ -8198,7 +8251,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             register_static_object(&once_value_135);
           } else fra.me.REG[6] = once_value_135;
           fra.me.REG[6] = fra.me.REG[6];
-          fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+          fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
           once_value_134 = fra.me.REG[6];
           register_static_object(&once_value_134);
         } else fra.me.REG[6] = once_value_134;
@@ -8210,7 +8263,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
-          /* compiling/compiling_icode.nit:774 */
+          /* compiling/compiling_icode.nit:776 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_136) {
@@ -8232,7 +8285,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:233 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
           /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
@@ -8247,11 +8300,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:232 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
             /* ../lib/standard/collection/array.nit:280 */
-            REGB0 = TAG_Bool(false);
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
@@ -8269,7 +8322,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           /* ../lib/standard/collection/array.nit:281 */
           goto label137;
           label137: while(0);
-          /* compiling/compiling_icode.nit:774 */
+          /* compiling/compiling_icode.nit:776 */
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
           if (!once_value_138) {
             fra.me.REG[7] = BOX_NativeString("))");
@@ -8283,7 +8336,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
           fra.me.REG[5] = fra.me.REG[6];
         } else {
-          /* compiling/compiling_icode.nit:775 */
+          /* compiling/compiling_icode.nit:777 */
           if (!once_value_139) {
             if (!once_value_140) {
               fra.me.REG[6] = BOX_NativeString("output");
@@ -8293,7 +8346,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               register_static_object(&once_value_140);
             } else fra.me.REG[6] = once_value_140;
             fra.me.REG[6] = fra.me.REG[6];
-            fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+            fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
             once_value_139 = fra.me.REG[6];
             register_static_object(&once_value_139);
           } else fra.me.REG[6] = once_value_139;
@@ -8305,7 +8358,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             REGB1 = REGB2;
           }
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:776 */
+            /* compiling/compiling_icode.nit:778 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_141) {
@@ -8327,7 +8380,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:233 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
             /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
@@ -8342,11 +8395,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:232 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
               /* ../lib/standard/collection/array.nit:280 */
-              REGB0 = TAG_Bool(false);
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
@@ -8364,7 +8417,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             /* ../lib/standard/collection/array.nit:281 */
             goto label142;
             label142: while(0);
-            /* compiling/compiling_icode.nit:776 */
+            /* compiling/compiling_icode.nit:778 */
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
             if (!once_value_143) {
               fra.me.REG[7] = BOX_NativeString("));");
@@ -8378,7 +8431,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
             fra.me.REG[5] = fra.me.REG[6];
           } else {
-            /* compiling/compiling_icode.nit:777 */
+            /* compiling/compiling_icode.nit:779 */
             if (!once_value_144) {
               if (!once_value_145) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -8388,7 +8441,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_145);
               } else fra.me.REG[6] = once_value_145;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_144 = fra.me.REG[6];
               register_static_object(&once_value_144);
             } else fra.me.REG[6] = once_value_144;
@@ -8400,7 +8453,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:778 */
+              /* compiling/compiling_icode.nit:780 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_146) {
@@ -8422,7 +8475,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:233 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
               /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
@@ -8437,11 +8490,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
@@ -8459,7 +8512,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               /* ../lib/standard/collection/array.nit:281 */
               goto label147;
               label147: while(0);
-              /* compiling/compiling_icode.nit:778 */
+              /* compiling/compiling_icode.nit:780 */
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
               if (!once_value_148) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -8473,7 +8526,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
               fra.me.REG[5] = fra.me.REG[6];
             } else {
-              /* compiling/compiling_icode.nit:779 */
+              /* compiling/compiling_icode.nit:781 */
               if (!once_value_149) {
                if (!once_value_150) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -8483,7 +8536,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_150);
                } else fra.me.REG[6] = once_value_150;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_149 = fra.me.REG[6];
                register_static_object(&once_value_149);
               } else fra.me.REG[6] = once_value_149;
@@ -8495,7 +8548,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:780 */
+               /* compiling/compiling_icode.nit:782 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_151) {
@@ -8517,7 +8570,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8532,11 +8585,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8554,7 +8607,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label152;
                label152: while(0);
-               /* compiling/compiling_icode.nit:780 */
+               /* compiling/compiling_icode.nit:782 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_153) {
                fra.me.REG[7] = BOX_NativeString(")+UNBOX_Float(");
@@ -8575,7 +8628,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8590,11 +8643,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8612,7 +8665,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label154;
                label154: while(0);
-               /* compiling/compiling_icode.nit:780 */
+               /* compiling/compiling_icode.nit:782 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_155) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -8626,7 +8679,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:781 */
+               /* compiling/compiling_icode.nit:783 */
                if (!once_value_156) {
                if (!once_value_157) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -8636,7 +8689,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_157);
                } else fra.me.REG[6] = once_value_157;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_156 = fra.me.REG[6];
                register_static_object(&once_value_156);
                } else fra.me.REG[6] = once_value_156;
@@ -8648,7 +8701,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:782 */
+               /* compiling/compiling_icode.nit:784 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_158) {
@@ -8670,7 +8723,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8685,11 +8738,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8707,7 +8760,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label159;
                label159: while(0);
-               /* compiling/compiling_icode.nit:782 */
+               /* compiling/compiling_icode.nit:784 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_160) {
                fra.me.REG[7] = BOX_NativeString(")-UNBOX_Float(");
@@ -8728,7 +8781,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8743,11 +8796,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8765,7 +8818,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label161;
                label161: while(0);
-               /* compiling/compiling_icode.nit:782 */
+               /* compiling/compiling_icode.nit:784 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_162) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -8779,7 +8832,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:783 */
+               /* compiling/compiling_icode.nit:785 */
                if (!once_value_163) {
                if (!once_value_164) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -8789,7 +8842,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_164);
                } else fra.me.REG[6] = once_value_164;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_163 = fra.me.REG[6];
                register_static_object(&once_value_163);
                } else fra.me.REG[6] = once_value_163;
@@ -8801,7 +8854,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:784 */
+               /* compiling/compiling_icode.nit:786 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_165) {
@@ -8823,7 +8876,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8838,11 +8891,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8860,7 +8913,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label166;
                label166: while(0);
-               /* compiling/compiling_icode.nit:784 */
+               /* compiling/compiling_icode.nit:786 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_167) {
                fra.me.REG[7] = BOX_NativeString(")*UNBOX_Float(");
@@ -8881,7 +8934,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8896,11 +8949,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -8918,7 +8971,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label168;
                label168: while(0);
-               /* compiling/compiling_icode.nit:784 */
+               /* compiling/compiling_icode.nit:786 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_169) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -8932,7 +8985,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:785 */
+               /* compiling/compiling_icode.nit:787 */
                if (!once_value_170) {
                if (!once_value_171) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -8942,7 +8995,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_171);
                } else fra.me.REG[6] = once_value_171;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_170 = fra.me.REG[6];
                register_static_object(&once_value_170);
                } else fra.me.REG[6] = once_value_170;
@@ -8954,7 +9007,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:786 */
+               /* compiling/compiling_icode.nit:788 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_172) {
@@ -8976,7 +9029,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -8991,11 +9044,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9013,7 +9066,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label173;
                label173: while(0);
-               /* compiling/compiling_icode.nit:786 */
+               /* compiling/compiling_icode.nit:788 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_174) {
                fra.me.REG[7] = BOX_NativeString(")/UNBOX_Float(");
@@ -9034,7 +9087,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9049,11 +9102,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9071,7 +9124,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label175;
                label175: while(0);
-               /* compiling/compiling_icode.nit:786 */
+               /* compiling/compiling_icode.nit:788 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_176) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -9085,7 +9138,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:787 */
+               /* compiling/compiling_icode.nit:789 */
                if (!once_value_177) {
                if (!once_value_178) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -9095,7 +9148,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_178);
                } else fra.me.REG[6] = once_value_178;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_177 = fra.me.REG[6];
                register_static_object(&once_value_177);
                } else fra.me.REG[6] = once_value_177;
@@ -9107,7 +9160,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:788 */
+               /* compiling/compiling_icode.nit:790 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_179) {
@@ -9129,7 +9182,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9144,11 +9197,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9166,7 +9219,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label180;
                label180: while(0);
-               /* compiling/compiling_icode.nit:788 */
+               /* compiling/compiling_icode.nit:790 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_181) {
                fra.me.REG[7] = BOX_NativeString(")<UNBOX_Float(");
@@ -9187,7 +9240,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9202,11 +9255,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9224,7 +9277,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label182;
                label182: while(0);
-               /* compiling/compiling_icode.nit:788 */
+               /* compiling/compiling_icode.nit:790 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_183) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -9238,7 +9291,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:789 */
+               /* compiling/compiling_icode.nit:791 */
                if (!once_value_184) {
                if (!once_value_185) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -9248,7 +9301,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_185);
                } else fra.me.REG[6] = once_value_185;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_184 = fra.me.REG[6];
                register_static_object(&once_value_184);
                } else fra.me.REG[6] = once_value_184;
@@ -9260,7 +9313,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:790 */
+               /* compiling/compiling_icode.nit:792 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_186) {
@@ -9282,7 +9335,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9297,11 +9350,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9319,7 +9372,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label187;
                label187: while(0);
-               /* compiling/compiling_icode.nit:790 */
+               /* compiling/compiling_icode.nit:792 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_188) {
                fra.me.REG[7] = BOX_NativeString(")>UNBOX_Float(");
@@ -9340,7 +9393,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9355,11 +9408,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9377,7 +9430,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label189;
                label189: while(0);
-               /* compiling/compiling_icode.nit:790 */
+               /* compiling/compiling_icode.nit:792 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_190) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -9391,7 +9444,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:791 */
+               /* compiling/compiling_icode.nit:793 */
                if (!once_value_191) {
                if (!once_value_192) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -9401,7 +9454,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_192);
                } else fra.me.REG[6] = once_value_192;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_191 = fra.me.REG[6];
                register_static_object(&once_value_191);
                } else fra.me.REG[6] = once_value_191;
@@ -9413,7 +9466,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:792 */
+               /* compiling/compiling_icode.nit:794 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_193) {
@@ -9435,7 +9488,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9450,11 +9503,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9472,7 +9525,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label194;
                label194: while(0);
-               /* compiling/compiling_icode.nit:792 */
+               /* compiling/compiling_icode.nit:794 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_195) {
                fra.me.REG[7] = BOX_NativeString(")<=UNBOX_Float(");
@@ -9493,7 +9546,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9508,11 +9561,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9530,7 +9583,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label196;
                label196: while(0);
-               /* compiling/compiling_icode.nit:792 */
+               /* compiling/compiling_icode.nit:794 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_197) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -9544,7 +9597,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:793 */
+               /* compiling/compiling_icode.nit:795 */
                if (!once_value_198) {
                if (!once_value_199) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -9554,7 +9607,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_199);
                } else fra.me.REG[6] = once_value_199;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_198 = fra.me.REG[6];
                register_static_object(&once_value_198);
                } else fra.me.REG[6] = once_value_198;
@@ -9566,7 +9619,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:794 */
+               /* compiling/compiling_icode.nit:796 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_200) {
@@ -9588,7 +9641,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9603,11 +9656,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9625,7 +9678,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label201;
                label201: while(0);
-               /* compiling/compiling_icode.nit:794 */
+               /* compiling/compiling_icode.nit:796 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_202) {
                fra.me.REG[7] = BOX_NativeString(")>=UNBOX_Float(");
@@ -9646,7 +9699,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -9661,11 +9714,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -9683,7 +9736,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label203;
                label203: while(0);
-               /* compiling/compiling_icode.nit:794 */
+               /* compiling/compiling_icode.nit:796 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_204) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -9709,7 +9762,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         }
       }
     } else {
-      /* compiling/compiling_icode.nit:796 */
+      /* compiling/compiling_icode.nit:798 */
       if (!once_value_205) {
         if (!once_value_206) {
           fra.me.REG[6] = BOX_NativeString("Char");
@@ -9719,7 +9772,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           register_static_object(&once_value_206);
         } else fra.me.REG[6] = once_value_206;
         fra.me.REG[6] = fra.me.REG[6];
-        fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+        fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
         once_value_205 = fra.me.REG[6];
         register_static_object(&once_value_205);
       } else fra.me.REG[6] = once_value_205;
@@ -9731,7 +9784,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
-        /* compiling/compiling_icode.nit:797 */
+        /* compiling/compiling_icode.nit:799 */
         if (!once_value_207) {
           if (!once_value_208) {
             fra.me.REG[6] = BOX_NativeString("object_id");
@@ -9741,7 +9794,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             register_static_object(&once_value_208);
           } else fra.me.REG[6] = once_value_208;
           fra.me.REG[6] = fra.me.REG[6];
-          fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+          fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
           once_value_207 = fra.me.REG[6];
           register_static_object(&once_value_207);
         } else fra.me.REG[6] = once_value_207;
@@ -9753,7 +9806,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
-          /* compiling/compiling_icode.nit:798 */
+          /* compiling/compiling_icode.nit:800 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_209) {
@@ -9775,7 +9828,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:233 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
           /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
@@ -9790,11 +9843,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:232 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
             /* ../lib/standard/collection/array.nit:280 */
-            REGB0 = TAG_Bool(false);
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
@@ -9812,7 +9865,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           /* ../lib/standard/collection/array.nit:281 */
           goto label210;
           label210: while(0);
-          /* compiling/compiling_icode.nit:798 */
+          /* compiling/compiling_icode.nit:800 */
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
           if (!once_value_211) {
             fra.me.REG[7] = BOX_NativeString("))");
@@ -9826,7 +9879,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
           fra.me.REG[5] = fra.me.REG[6];
         } else {
-          /* compiling/compiling_icode.nit:799 */
+          /* compiling/compiling_icode.nit:801 */
           if (!once_value_212) {
             if (!once_value_213) {
               fra.me.REG[6] = BOX_NativeString("unary -");
@@ -9836,7 +9889,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               register_static_object(&once_value_213);
             } else fra.me.REG[6] = once_value_213;
             fra.me.REG[6] = fra.me.REG[6];
-            fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+            fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
             once_value_212 = fra.me.REG[6];
             register_static_object(&once_value_212);
           } else fra.me.REG[6] = once_value_212;
@@ -9848,7 +9901,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             REGB1 = REGB2;
           }
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:800 */
+            /* compiling/compiling_icode.nit:802 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_214) {
@@ -9870,7 +9923,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:233 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
             /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
@@ -9885,11 +9938,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:232 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
               /* ../lib/standard/collection/array.nit:280 */
-              REGB0 = TAG_Bool(false);
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
@@ -9907,7 +9960,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             /* ../lib/standard/collection/array.nit:281 */
             goto label215;
             label215: while(0);
-            /* compiling/compiling_icode.nit:800 */
+            /* compiling/compiling_icode.nit:802 */
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
             if (!once_value_216) {
               fra.me.REG[7] = BOX_NativeString("))");
@@ -9921,7 +9974,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
             fra.me.REG[5] = fra.me.REG[6];
           } else {
-            /* compiling/compiling_icode.nit:801 */
+            /* compiling/compiling_icode.nit:803 */
             if (!once_value_217) {
               if (!once_value_218) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -9931,7 +9984,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_218);
               } else fra.me.REG[6] = once_value_218;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_217 = fra.me.REG[6];
               register_static_object(&once_value_217);
             } else fra.me.REG[6] = once_value_217;
@@ -9943,7 +9996,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:802 */
+              /* compiling/compiling_icode.nit:804 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_219) {
@@ -9965,7 +10018,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:233 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
               /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
@@ -9980,11 +10033,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
@@ -10002,7 +10055,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               /* ../lib/standard/collection/array.nit:281 */
               goto label220;
               label220: while(0);
-              /* compiling/compiling_icode.nit:802 */
+              /* compiling/compiling_icode.nit:804 */
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
               if (!once_value_221) {
                fra.me.REG[7] = BOX_NativeString("));");
@@ -10016,7 +10069,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
               fra.me.REG[5] = fra.me.REG[6];
             } else {
-              /* compiling/compiling_icode.nit:803 */
+              /* compiling/compiling_icode.nit:805 */
               if (!once_value_222) {
                if (!once_value_223) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -10026,7 +10079,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_223);
                } else fra.me.REG[6] = once_value_223;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_222 = fra.me.REG[6];
                register_static_object(&once_value_222);
               } else fra.me.REG[6] = once_value_222;
@@ -10038,7 +10091,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:804 */
+               /* compiling/compiling_icode.nit:806 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_224) {
@@ -10060,7 +10113,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10075,11 +10128,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10097,7 +10150,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label225;
                label225: while(0);
-               /* compiling/compiling_icode.nit:804 */
+               /* compiling/compiling_icode.nit:806 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_226) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -10111,7 +10164,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:805 */
+               /* compiling/compiling_icode.nit:807 */
                if (!once_value_227) {
                if (!once_value_228) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -10121,7 +10174,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_228);
                } else fra.me.REG[6] = once_value_228;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_227 = fra.me.REG[6];
                register_static_object(&once_value_227);
                } else fra.me.REG[6] = once_value_227;
@@ -10133,7 +10186,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:806 */
+               /* compiling/compiling_icode.nit:808 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_229) {
@@ -10155,7 +10208,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10170,11 +10223,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10192,7 +10245,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label230;
                label230: while(0);
-               /* compiling/compiling_icode.nit:806 */
+               /* compiling/compiling_icode.nit:808 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_231) {
                fra.me.REG[7] = BOX_NativeString(")+1)");
@@ -10206,7 +10259,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:807 */
+               /* compiling/compiling_icode.nit:809 */
                if (!once_value_232) {
                if (!once_value_233) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -10216,7 +10269,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_233);
                } else fra.me.REG[6] = once_value_233;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_232 = fra.me.REG[6];
                register_static_object(&once_value_232);
                } else fra.me.REG[6] = once_value_232;
@@ -10228,7 +10281,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:808 */
+               /* compiling/compiling_icode.nit:810 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_234) {
@@ -10250,7 +10303,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10265,11 +10318,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10287,7 +10340,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label235;
                label235: while(0);
-               /* compiling/compiling_icode.nit:808 */
+               /* compiling/compiling_icode.nit:810 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_236) {
                fra.me.REG[7] = BOX_NativeString(")-1)");
@@ -10301,7 +10354,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:809 */
+               /* compiling/compiling_icode.nit:811 */
                if (!once_value_237) {
                if (!once_value_238) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -10311,7 +10364,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_238);
                } else fra.me.REG[6] = once_value_238;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_237 = fra.me.REG[6];
                register_static_object(&once_value_237);
                } else fra.me.REG[6] = once_value_237;
@@ -10323,7 +10376,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:810 */
+               /* compiling/compiling_icode.nit:812 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_239) {
@@ -10345,7 +10398,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10360,11 +10413,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10382,7 +10435,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label240;
                label240: while(0);
-               /* compiling/compiling_icode.nit:810 */
+               /* compiling/compiling_icode.nit:812 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_241) {
                fra.me.REG[7] = BOX_NativeString(")-'0')");
@@ -10396,7 +10449,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:811 */
+               /* compiling/compiling_icode.nit:813 */
                if (!once_value_242) {
                if (!once_value_243) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -10406,7 +10459,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_243);
                } else fra.me.REG[6] = once_value_243;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_242 = fra.me.REG[6];
                register_static_object(&once_value_242);
                } else fra.me.REG[6] = once_value_242;
@@ -10418,7 +10471,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:812 */
+               /* compiling/compiling_icode.nit:814 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_244) {
@@ -10440,7 +10493,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10455,11 +10508,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10477,7 +10530,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label245;
                label245: while(0);
-               /* compiling/compiling_icode.nit:812 */
+               /* compiling/compiling_icode.nit:814 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_246) {
                fra.me.REG[7] = BOX_NativeString(")+UNTAG_Char(");
@@ -10498,7 +10551,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10513,11 +10566,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10535,7 +10588,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label247;
                label247: while(0);
-               /* compiling/compiling_icode.nit:812 */
+               /* compiling/compiling_icode.nit:814 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_248) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -10549,7 +10602,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:813 */
+               /* compiling/compiling_icode.nit:815 */
                if (!once_value_249) {
                if (!once_value_250) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -10559,7 +10612,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_250);
                } else fra.me.REG[6] = once_value_250;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_249 = fra.me.REG[6];
                register_static_object(&once_value_249);
                } else fra.me.REG[6] = once_value_249;
@@ -10571,7 +10624,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:814 */
+               /* compiling/compiling_icode.nit:816 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_251) {
@@ -10593,7 +10646,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10608,11 +10661,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10630,7 +10683,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label252;
                label252: while(0);
-               /* compiling/compiling_icode.nit:814 */
+               /* compiling/compiling_icode.nit:816 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_253) {
                fra.me.REG[7] = BOX_NativeString(")-UNTAG_Char(");
@@ -10651,7 +10704,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10666,11 +10719,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10688,7 +10741,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label254;
                label254: while(0);
-               /* compiling/compiling_icode.nit:814 */
+               /* compiling/compiling_icode.nit:816 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_255) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -10702,7 +10755,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:815 */
+               /* compiling/compiling_icode.nit:817 */
                if (!once_value_256) {
                if (!once_value_257) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -10712,7 +10765,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_257);
                } else fra.me.REG[6] = once_value_257;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_256 = fra.me.REG[6];
                register_static_object(&once_value_256);
                } else fra.me.REG[6] = once_value_256;
@@ -10724,7 +10777,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:816 */
+               /* compiling/compiling_icode.nit:818 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_258) {
@@ -10746,7 +10799,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10761,11 +10814,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10783,7 +10836,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label259;
                label259: while(0);
-               /* compiling/compiling_icode.nit:816 */
+               /* compiling/compiling_icode.nit:818 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_260) {
                fra.me.REG[7] = BOX_NativeString(")*UNTAG_Char(");
@@ -10804,7 +10857,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10819,11 +10872,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10841,7 +10894,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label261;
                label261: while(0);
-               /* compiling/compiling_icode.nit:816 */
+               /* compiling/compiling_icode.nit:818 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_262) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -10855,7 +10908,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:817 */
+               /* compiling/compiling_icode.nit:819 */
                if (!once_value_263) {
                if (!once_value_264) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -10865,7 +10918,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_264);
                } else fra.me.REG[6] = once_value_264;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_263 = fra.me.REG[6];
                register_static_object(&once_value_263);
                } else fra.me.REG[6] = once_value_263;
@@ -10877,7 +10930,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:818 */
+               /* compiling/compiling_icode.nit:820 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_265) {
@@ -10899,7 +10952,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10914,11 +10967,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10936,7 +10989,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label266;
                label266: while(0);
-               /* compiling/compiling_icode.nit:818 */
+               /* compiling/compiling_icode.nit:820 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_267) {
                fra.me.REG[7] = BOX_NativeString(")/UNTAG_Char(");
@@ -10957,7 +11010,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -10972,11 +11025,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -10994,7 +11047,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label268;
                label268: while(0);
-               /* compiling/compiling_icode.nit:818 */
+               /* compiling/compiling_icode.nit:820 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_269) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11008,7 +11061,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:819 */
+               /* compiling/compiling_icode.nit:821 */
                if (!once_value_270) {
                if (!once_value_271) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -11018,7 +11071,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_271);
                } else fra.me.REG[6] = once_value_271;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_270 = fra.me.REG[6];
                register_static_object(&once_value_270);
                } else fra.me.REG[6] = once_value_270;
@@ -11030,7 +11083,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:820 */
+               /* compiling/compiling_icode.nit:822 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_272) {
@@ -11052,7 +11105,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11067,11 +11120,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11089,7 +11142,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label273;
                label273: while(0);
-               /* compiling/compiling_icode.nit:820 */
+               /* compiling/compiling_icode.nit:822 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_274) {
                fra.me.REG[7] = BOX_NativeString(")%UNTAG_Char(");
@@ -11110,7 +11163,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11125,11 +11178,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11147,7 +11200,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label275;
                label275: while(0);
-               /* compiling/compiling_icode.nit:820 */
+               /* compiling/compiling_icode.nit:822 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_276) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11161,7 +11214,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:821 */
+               /* compiling/compiling_icode.nit:823 */
                if (!once_value_277) {
                if (!once_value_278) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -11171,7 +11224,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_278);
                } else fra.me.REG[6] = once_value_278;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_277 = fra.me.REG[6];
                register_static_object(&once_value_277);
                } else fra.me.REG[6] = once_value_277;
@@ -11183,7 +11236,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:822 */
+               /* compiling/compiling_icode.nit:824 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_279) {
@@ -11205,7 +11258,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11220,11 +11273,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11242,7 +11295,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label280;
                label280: while(0);
-               /* compiling/compiling_icode.nit:822 */
+               /* compiling/compiling_icode.nit:824 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_281) {
                fra.me.REG[7] = BOX_NativeString(")<UNTAG_Char(");
@@ -11263,7 +11316,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11278,11 +11331,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11300,7 +11353,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label282;
                label282: while(0);
-               /* compiling/compiling_icode.nit:822 */
+               /* compiling/compiling_icode.nit:824 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_283) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11314,7 +11367,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:823 */
+               /* compiling/compiling_icode.nit:825 */
                if (!once_value_284) {
                if (!once_value_285) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -11324,7 +11377,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_285);
                } else fra.me.REG[6] = once_value_285;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_284 = fra.me.REG[6];
                register_static_object(&once_value_284);
                } else fra.me.REG[6] = once_value_284;
@@ -11336,7 +11389,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:824 */
+               /* compiling/compiling_icode.nit:826 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_286) {
@@ -11358,7 +11411,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11373,11 +11426,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11395,7 +11448,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label287;
                label287: while(0);
-               /* compiling/compiling_icode.nit:824 */
+               /* compiling/compiling_icode.nit:826 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_288) {
                fra.me.REG[7] = BOX_NativeString(")>UNTAG_Char(");
@@ -11416,7 +11469,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11431,11 +11484,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11453,7 +11506,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label289;
                label289: while(0);
-               /* compiling/compiling_icode.nit:824 */
+               /* compiling/compiling_icode.nit:826 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_290) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11467,7 +11520,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:825 */
+               /* compiling/compiling_icode.nit:827 */
                if (!once_value_291) {
                if (!once_value_292) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -11477,7 +11530,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_292);
                } else fra.me.REG[6] = once_value_292;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_291 = fra.me.REG[6];
                register_static_object(&once_value_291);
                } else fra.me.REG[6] = once_value_291;
@@ -11489,7 +11542,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:826 */
+               /* compiling/compiling_icode.nit:828 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_293) {
@@ -11511,7 +11564,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11526,11 +11579,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11548,7 +11601,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label294;
                label294: while(0);
-               /* compiling/compiling_icode.nit:826 */
+               /* compiling/compiling_icode.nit:828 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_295) {
                fra.me.REG[7] = BOX_NativeString(")<=UNTAG_Char(");
@@ -11569,7 +11622,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11584,11 +11637,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11606,7 +11659,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label296;
                label296: while(0);
-               /* compiling/compiling_icode.nit:826 */
+               /* compiling/compiling_icode.nit:828 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_297) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11620,7 +11673,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:827 */
+               /* compiling/compiling_icode.nit:829 */
                if (!once_value_298) {
                if (!once_value_299) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -11630,7 +11683,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_299);
                } else fra.me.REG[6] = once_value_299;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_298 = fra.me.REG[6];
                register_static_object(&once_value_298);
                } else fra.me.REG[6] = once_value_298;
@@ -11642,7 +11695,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:828 */
+               /* compiling/compiling_icode.nit:830 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_300) {
@@ -11664,7 +11717,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11679,11 +11732,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11701,7 +11754,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label301;
                label301: while(0);
-               /* compiling/compiling_icode.nit:828 */
+               /* compiling/compiling_icode.nit:830 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_302) {
                fra.me.REG[7] = BOX_NativeString(")>=UNTAG_Char(");
@@ -11722,7 +11775,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11737,11 +11790,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11759,7 +11812,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label303;
                label303: while(0);
-               /* compiling/compiling_icode.nit:828 */
+               /* compiling/compiling_icode.nit:830 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_304) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11773,7 +11826,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:829 */
+               /* compiling/compiling_icode.nit:831 */
                if (!once_value_305) {
                if (!once_value_306) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -11783,7 +11836,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_306);
                } else fra.me.REG[6] = once_value_306;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_305 = fra.me.REG[6];
                register_static_object(&once_value_305);
                } else fra.me.REG[6] = once_value_305;
@@ -11795,7 +11848,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:830 */
+               /* compiling/compiling_icode.nit:832 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_307) {
@@ -11817,7 +11870,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11832,11 +11885,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11854,7 +11907,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label308;
                label308: while(0);
-               /* compiling/compiling_icode.nit:830 */
+               /* compiling/compiling_icode.nit:832 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_309) {
                fra.me.REG[7] = BOX_NativeString(")==(");
@@ -11875,7 +11928,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11890,11 +11943,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -11912,7 +11965,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label310;
                label310: while(0);
-               /* compiling/compiling_icode.nit:830 */
+               /* compiling/compiling_icode.nit:832 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_311) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -11926,7 +11979,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:831 */
+               /* compiling/compiling_icode.nit:833 */
                if (!once_value_312) {
                if (!once_value_313) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -11936,7 +11989,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_313);
                } else fra.me.REG[6] = once_value_313;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_312 = fra.me.REG[6];
                register_static_object(&once_value_312);
                } else fra.me.REG[6] = once_value_312;
@@ -11948,7 +12001,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:832 */
+               /* compiling/compiling_icode.nit:834 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_314) {
@@ -11970,7 +12023,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -11985,11 +12038,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12007,7 +12060,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label315;
                label315: while(0);
-               /* compiling/compiling_icode.nit:832 */
+               /* compiling/compiling_icode.nit:834 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_316) {
                fra.me.REG[7] = BOX_NativeString(")!=(");
@@ -12028,7 +12081,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12043,11 +12096,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12065,7 +12118,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label317;
                label317: while(0);
-               /* compiling/compiling_icode.nit:832 */
+               /* compiling/compiling_icode.nit:834 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_318) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12097,7 +12150,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           }
         }
       } else {
-        /* compiling/compiling_icode.nit:834 */
+        /* compiling/compiling_icode.nit:836 */
         if (!once_value_319) {
           if (!once_value_320) {
             fra.me.REG[6] = BOX_NativeString("Bool");
@@ -12107,7 +12160,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             register_static_object(&once_value_320);
           } else fra.me.REG[6] = once_value_320;
           fra.me.REG[6] = fra.me.REG[6];
-          fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+          fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
           once_value_319 = fra.me.REG[6];
           register_static_object(&once_value_319);
         } else fra.me.REG[6] = once_value_319;
@@ -12119,7 +12172,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
-          /* compiling/compiling_icode.nit:835 */
+          /* compiling/compiling_icode.nit:837 */
           if (!once_value_321) {
             if (!once_value_322) {
               fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12129,7 +12182,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               register_static_object(&once_value_322);
             } else fra.me.REG[6] = once_value_322;
             fra.me.REG[6] = fra.me.REG[6];
-            fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+            fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
             once_value_321 = fra.me.REG[6];
             register_static_object(&once_value_321);
           } else fra.me.REG[6] = once_value_321;
@@ -12141,7 +12194,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             REGB1 = REGB2;
           }
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:836 */
+            /* compiling/compiling_icode.nit:838 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_323) {
@@ -12163,7 +12216,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:233 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
             /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
@@ -12178,11 +12231,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:232 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
               /* ../lib/standard/collection/array.nit:280 */
-              REGB0 = TAG_Bool(false);
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
@@ -12200,7 +12253,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             /* ../lib/standard/collection/array.nit:281 */
             goto label324;
             label324: while(0);
-            /* compiling/compiling_icode.nit:836 */
+            /* compiling/compiling_icode.nit:838 */
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
             if (!once_value_325) {
               fra.me.REG[7] = BOX_NativeString("))");
@@ -12214,7 +12267,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
             fra.me.REG[5] = fra.me.REG[6];
           } else {
-            /* compiling/compiling_icode.nit:837 */
+            /* compiling/compiling_icode.nit:839 */
             if (!once_value_326) {
               if (!once_value_327) {
                fra.me.REG[6] = BOX_NativeString("unary -");
@@ -12224,7 +12277,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_327);
               } else fra.me.REG[6] = once_value_327;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_326 = fra.me.REG[6];
               register_static_object(&once_value_326);
             } else fra.me.REG[6] = once_value_326;
@@ -12236,7 +12289,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:838 */
+              /* compiling/compiling_icode.nit:840 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_328) {
@@ -12258,7 +12311,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:233 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
               /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
@@ -12273,11 +12326,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
@@ -12295,7 +12348,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               /* ../lib/standard/collection/array.nit:281 */
               goto label329;
               label329: while(0);
-              /* compiling/compiling_icode.nit:838 */
+              /* compiling/compiling_icode.nit:840 */
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
               if (!once_value_330) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12309,7 +12362,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
               fra.me.REG[5] = fra.me.REG[6];
             } else {
-              /* compiling/compiling_icode.nit:839 */
+              /* compiling/compiling_icode.nit:841 */
               if (!once_value_331) {
                if (!once_value_332) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -12319,7 +12372,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_332);
                } else fra.me.REG[6] = once_value_332;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_331 = fra.me.REG[6];
                register_static_object(&once_value_331);
               } else fra.me.REG[6] = once_value_331;
@@ -12331,7 +12384,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:840 */
+               /* compiling/compiling_icode.nit:842 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_333) {
@@ -12353,7 +12406,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12368,11 +12421,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12390,7 +12443,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label334;
                label334: while(0);
-               /* compiling/compiling_icode.nit:840 */
+               /* compiling/compiling_icode.nit:842 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_335) {
                fra.me.REG[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
@@ -12404,7 +12457,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:841 */
+               /* compiling/compiling_icode.nit:843 */
                if (!once_value_336) {
                if (!once_value_337) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -12414,7 +12467,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_337);
                } else fra.me.REG[6] = once_value_337;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_336 = fra.me.REG[6];
                register_static_object(&once_value_336);
                } else fra.me.REG[6] = once_value_336;
@@ -12426,7 +12479,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:842 */
+               /* compiling/compiling_icode.nit:844 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_338) {
@@ -12448,7 +12501,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12463,11 +12516,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12485,7 +12538,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label339;
                label339: while(0);
-               /* compiling/compiling_icode.nit:842 */
+               /* compiling/compiling_icode.nit:844 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_340) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12499,7 +12552,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:843 */
+               /* compiling/compiling_icode.nit:845 */
                if (!once_value_341) {
                if (!once_value_342) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -12509,7 +12562,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_342);
                } else fra.me.REG[6] = once_value_342;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_341 = fra.me.REG[6];
                register_static_object(&once_value_341);
                } else fra.me.REG[6] = once_value_341;
@@ -12521,7 +12574,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:844 */
+               /* compiling/compiling_icode.nit:846 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_343) {
@@ -12543,7 +12596,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12558,11 +12611,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12580,7 +12633,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label344;
                label344: while(0);
-               /* compiling/compiling_icode.nit:844 */
+               /* compiling/compiling_icode.nit:846 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_345) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12594,7 +12647,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:845 */
+               /* compiling/compiling_icode.nit:847 */
                if (!once_value_346) {
                if (!once_value_347) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -12604,7 +12657,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_347);
                } else fra.me.REG[6] = once_value_347;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_346 = fra.me.REG[6];
                register_static_object(&once_value_346);
                } else fra.me.REG[6] = once_value_346;
@@ -12616,7 +12669,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:846 */
+               /* compiling/compiling_icode.nit:848 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_348) {
@@ -12638,7 +12691,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12653,11 +12706,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12675,7 +12728,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label349;
                label349: while(0);
-               /* compiling/compiling_icode.nit:846 */
+               /* compiling/compiling_icode.nit:848 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_350) {
                fra.me.REG[7] = BOX_NativeString(")==(");
@@ -12696,7 +12749,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12711,11 +12764,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12733,7 +12786,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label351;
                label351: while(0);
-               /* compiling/compiling_icode.nit:846 */
+               /* compiling/compiling_icode.nit:848 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_352) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12747,7 +12800,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:847 */
+               /* compiling/compiling_icode.nit:849 */
                if (!once_value_353) {
                if (!once_value_354) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -12757,7 +12810,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_354);
                } else fra.me.REG[6] = once_value_354;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_353 = fra.me.REG[6];
                register_static_object(&once_value_353);
                } else fra.me.REG[6] = once_value_353;
@@ -12769,7 +12822,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:848 */
+               /* compiling/compiling_icode.nit:850 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_355) {
@@ -12791,7 +12844,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12806,11 +12859,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12828,7 +12881,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label356;
                label356: while(0);
-               /* compiling/compiling_icode.nit:848 */
+               /* compiling/compiling_icode.nit:850 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_357) {
                fra.me.REG[7] = BOX_NativeString(")!=(");
@@ -12849,7 +12902,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -12864,11 +12917,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -12886,7 +12939,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label358;
                label358: while(0);
-               /* compiling/compiling_icode.nit:848 */
+               /* compiling/compiling_icode.nit:850 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_359) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -12907,7 +12960,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             }
           }
         } else {
-          /* compiling/compiling_icode.nit:850 */
+          /* compiling/compiling_icode.nit:852 */
           if (!once_value_360) {
             if (!once_value_361) {
               fra.me.REG[6] = BOX_NativeString("NativeArray");
@@ -12917,7 +12970,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               register_static_object(&once_value_361);
             } else fra.me.REG[6] = once_value_361;
             fra.me.REG[6] = fra.me.REG[6];
-            fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+            fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
             once_value_360 = fra.me.REG[6];
             register_static_object(&once_value_360);
           } else fra.me.REG[6] = once_value_360;
@@ -12929,7 +12982,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             REGB1 = REGB2;
           }
           if (UNTAG_Bool(REGB1)) {
-            /* compiling/compiling_icode.nit:851 */
+            /* compiling/compiling_icode.nit:853 */
             if (!once_value_362) {
               if (!once_value_363) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12939,7 +12992,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_363);
               } else fra.me.REG[6] = once_value_363;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_362 = fra.me.REG[6];
               register_static_object(&once_value_362);
             } else fra.me.REG[6] = once_value_362;
@@ -12951,7 +13004,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:852 */
+              /* compiling/compiling_icode.nit:854 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_364) {
@@ -12973,7 +13026,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:233 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
               /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
@@ -12988,11 +13041,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
@@ -13010,7 +13063,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               /* ../lib/standard/collection/array.nit:281 */
               goto label365;
               label365: while(0);
-              /* compiling/compiling_icode.nit:852 */
+              /* compiling/compiling_icode.nit:854 */
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
               if (!once_value_366) {
                fra.me.REG[7] = BOX_NativeString(")->object_id)");
@@ -13024,7 +13077,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
               fra.me.REG[5] = fra.me.REG[6];
             } else {
-              /* compiling/compiling_icode.nit:853 */
+              /* compiling/compiling_icode.nit:855 */
               if (!once_value_367) {
                if (!once_value_368) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -13034,7 +13087,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_368);
                } else fra.me.REG[6] = once_value_368;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_367 = fra.me.REG[6];
                register_static_object(&once_value_367);
               } else fra.me.REG[6] = once_value_367;
@@ -13046,7 +13099,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:854 */
+               /* compiling/compiling_icode.nit:856 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_369) {
@@ -13068,7 +13121,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13083,11 +13136,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13105,7 +13158,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label370;
                label370: while(0);
-               /* compiling/compiling_icode.nit:854 */
+               /* compiling/compiling_icode.nit:856 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_371) {
                fra.me.REG[7] = BOX_NativeString(")->val[UNTAG_Int(");
@@ -13126,7 +13179,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13141,11 +13194,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13163,7 +13216,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label372;
                label372: while(0);
-               /* compiling/compiling_icode.nit:854 */
+               /* compiling/compiling_icode.nit:856 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_373) {
                fra.me.REG[7] = BOX_NativeString(")]");
@@ -13177,7 +13230,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:855 */
+               /* compiling/compiling_icode.nit:857 */
                if (!once_value_374) {
                if (!once_value_375) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13187,7 +13240,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_375);
                } else fra.me.REG[6] = once_value_375;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_374 = fra.me.REG[6];
                register_static_object(&once_value_374);
                } else fra.me.REG[6] = once_value_374;
@@ -13199,7 +13252,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:856 */
+               /* compiling/compiling_icode.nit:858 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_376) {
@@ -13221,7 +13274,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13236,11 +13289,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13258,7 +13311,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label377;
                label377: while(0);
-               /* compiling/compiling_icode.nit:856 */
+               /* compiling/compiling_icode.nit:858 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_378) {
                fra.me.REG[7] = BOX_NativeString(")->val[UNTAG_Int(");
@@ -13279,7 +13332,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13294,11 +13347,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13316,7 +13369,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label379;
                label379: while(0);
-               /* compiling/compiling_icode.nit:856 */
+               /* compiling/compiling_icode.nit:858 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_380) {
                fra.me.REG[7] = BOX_NativeString(")]=");
@@ -13337,7 +13390,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13352,11 +13405,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13374,7 +13427,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label381;
                label381: while(0);
-               /* compiling/compiling_icode.nit:856 */
+               /* compiling/compiling_icode.nit:858 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_382) {
                fra.me.REG[7] = BOX_NativeString("");
@@ -13388,7 +13441,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:857 */
+               /* compiling/compiling_icode.nit:859 */
                if (!once_value_383) {
                if (!once_value_384) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -13398,7 +13451,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_384);
                } else fra.me.REG[6] = once_value_384;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_383 = fra.me.REG[6];
                register_static_object(&once_value_383);
                } else fra.me.REG[6] = once_value_383;
@@ -13410,7 +13463,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:858 */
+               /* compiling/compiling_icode.nit:860 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_385) {
@@ -13432,7 +13485,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13447,11 +13500,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13469,7 +13522,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label386;
                label386: while(0);
-               /* compiling/compiling_icode.nit:858 */
+               /* compiling/compiling_icode.nit:860 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_387) {
                fra.me.REG[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
@@ -13490,7 +13543,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13505,11 +13558,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13527,7 +13580,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label388;
                label388: while(0);
-               /* compiling/compiling_icode.nit:858 */
+               /* compiling/compiling_icode.nit:860 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_389) {
                fra.me.REG[7] = BOX_NativeString(")->val, UNTAG_Int(");
@@ -13548,7 +13601,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13563,11 +13616,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13585,7 +13638,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label390;
                label390: while(0);
-               /* compiling/compiling_icode.nit:858 */
+               /* compiling/compiling_icode.nit:860 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_391) {
                fra.me.REG[7] = BOX_NativeString(")*sizeof(val_t))");
@@ -13603,7 +13656,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               }
             }
           } else {
-            /* compiling/compiling_icode.nit:860 */
+            /* compiling/compiling_icode.nit:862 */
             if (!once_value_392) {
               if (!once_value_393) {
                fra.me.REG[6] = BOX_NativeString("NativeString");
@@ -13613,7 +13666,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_393);
               } else fra.me.REG[6] = once_value_393;
               fra.me.REG[6] = fra.me.REG[6];
-              fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+              fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
               once_value_392 = fra.me.REG[6];
               register_static_object(&once_value_392);
             } else fra.me.REG[6] = once_value_392;
@@ -13625,7 +13678,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               REGB1 = REGB2;
             }
             if (UNTAG_Bool(REGB1)) {
-              /* compiling/compiling_icode.nit:861 */
+              /* compiling/compiling_icode.nit:863 */
               if (!once_value_394) {
                if (!once_value_395) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -13635,7 +13688,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_395);
                } else fra.me.REG[6] = once_value_395;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_394 = fra.me.REG[6];
                register_static_object(&once_value_394);
               } else fra.me.REG[6] = once_value_394;
@@ -13647,7 +13700,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:862 */
+               /* compiling/compiling_icode.nit:864 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_396) {
@@ -13669,7 +13722,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13684,11 +13737,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13706,7 +13759,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label397;
                label397: while(0);
-               /* compiling/compiling_icode.nit:862 */
+               /* compiling/compiling_icode.nit:864 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_398) {
                fra.me.REG[7] = BOX_NativeString("))");
@@ -13720,7 +13773,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* compiling/compiling_icode.nit:863 */
+               /* compiling/compiling_icode.nit:865 */
                if (!once_value_399) {
                if (!once_value_400) {
                fra.me.REG[6] = BOX_NativeString("atoi");
@@ -13730,7 +13783,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_400);
                } else fra.me.REG[6] = once_value_400;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_399 = fra.me.REG[6];
                register_static_object(&once_value_399);
                } else fra.me.REG[6] = once_value_399;
@@ -13742,7 +13795,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:864 */
+               /* compiling/compiling_icode.nit:866 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_401) {
@@ -13764,7 +13817,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13779,11 +13832,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13801,7 +13854,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label402;
                label402: while(0);
-               /* compiling/compiling_icode.nit:864 */
+               /* compiling/compiling_icode.nit:866 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_403) {
                fra.me.REG[7] = BOX_NativeString(")))");
@@ -13815,7 +13868,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:865 */
+               /* compiling/compiling_icode.nit:867 */
                if (!once_value_404) {
                if (!once_value_405) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -13825,7 +13878,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_405);
                } else fra.me.REG[6] = once_value_405;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_404 = fra.me.REG[6];
                register_static_object(&once_value_404);
                } else fra.me.REG[6] = once_value_404;
@@ -13837,7 +13890,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:866 */
+               /* compiling/compiling_icode.nit:868 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_406) {
@@ -13859,7 +13912,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13874,11 +13927,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13896,7 +13949,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label407;
                label407: while(0);
-               /* compiling/compiling_icode.nit:866 */
+               /* compiling/compiling_icode.nit:868 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_408) {
                fra.me.REG[7] = BOX_NativeString(")[UNTAG_Int(");
@@ -13917,7 +13970,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -13932,11 +13985,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -13954,7 +14007,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label409;
                label409: while(0);
-               /* compiling/compiling_icode.nit:866 */
+               /* compiling/compiling_icode.nit:868 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_410) {
                fra.me.REG[7] = BOX_NativeString(")])");
@@ -13968,7 +14021,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:867 */
+               /* compiling/compiling_icode.nit:869 */
                if (!once_value_411) {
                if (!once_value_412) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13978,7 +14031,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_412);
                } else fra.me.REG[6] = once_value_412;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_411 = fra.me.REG[6];
                register_static_object(&once_value_411);
                } else fra.me.REG[6] = once_value_411;
@@ -13990,7 +14043,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:868 */
+               /* compiling/compiling_icode.nit:870 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_413) {
@@ -14012,7 +14065,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14027,11 +14080,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14049,7 +14102,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label414;
                label414: while(0);
-               /* compiling/compiling_icode.nit:868 */
+               /* compiling/compiling_icode.nit:870 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_415) {
                fra.me.REG[7] = BOX_NativeString(")[UNTAG_Int(");
@@ -14070,7 +14123,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14085,11 +14138,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14107,7 +14160,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label416;
                label416: while(0);
-               /* compiling/compiling_icode.nit:868 */
+               /* compiling/compiling_icode.nit:870 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_417) {
                fra.me.REG[7] = BOX_NativeString(")]=UNTAG_Char(");
@@ -14128,7 +14181,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14143,11 +14196,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14165,7 +14218,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label418;
                label418: while(0);
-               /* compiling/compiling_icode.nit:868 */
+               /* compiling/compiling_icode.nit:870 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_419) {
                fra.me.REG[7] = BOX_NativeString(");");
@@ -14179,7 +14232,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:869 */
+               /* compiling/compiling_icode.nit:871 */
                if (!once_value_420) {
                if (!once_value_421) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -14189,7 +14242,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_421);
                } else fra.me.REG[6] = once_value_421;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_420 = fra.me.REG[6];
                register_static_object(&once_value_420);
                } else fra.me.REG[6] = once_value_420;
@@ -14201,7 +14254,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                REGB1 = TAG_Int(11);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_422) {
@@ -14223,7 +14276,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14238,11 +14291,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14260,7 +14313,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label423;
                label423: while(0);
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_424) {
                fra.me.REG[7] = BOX_NativeString(")+UNTAG_Int(");
@@ -14281,7 +14334,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14296,11 +14349,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14318,7 +14371,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label425;
                label425: while(0);
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_426) {
                fra.me.REG[7] = BOX_NativeString("), UNBOX_NativeString(");
@@ -14339,7 +14392,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14354,11 +14407,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14376,7 +14429,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label427;
                label427: while(0);
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_428) {
                fra.me.REG[7] = BOX_NativeString(")+UNTAG_Int(");
@@ -14397,7 +14450,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14412,11 +14465,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14434,7 +14487,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label429;
                label429: while(0);
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_430) {
                fra.me.REG[7] = BOX_NativeString("), UNTAG_Int(");
@@ -14455,7 +14508,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14470,11 +14523,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14492,7 +14545,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label431;
                label431: while(0);
-               /* compiling/compiling_icode.nit:870 */
+               /* compiling/compiling_icode.nit:872 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
                if (!once_value_432) {
                fra.me.REG[7] = BOX_NativeString("));");
@@ -14511,7 +14564,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                }
               }
             } else {
-              /* compiling/compiling_icode.nit:872 */
+              /* compiling/compiling_icode.nit:874 */
               if (!once_value_433) {
                if (!once_value_434) {
                fra.me.REG[6] = BOX_NativeString("Sys");
@@ -14521,7 +14574,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_434);
                } else fra.me.REG[6] = once_value_434;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_433 = fra.me.REG[6];
                register_static_object(&once_value_433);
               } else fra.me.REG[6] = once_value_433;
@@ -14533,7 +14586,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:873 */
+               /* compiling/compiling_icode.nit:875 */
                if (!once_value_435) {
                if (!once_value_436) {
                fra.me.REG[6] = BOX_NativeString("force_garbage_collection");
@@ -14543,7 +14596,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_436);
                } else fra.me.REG[6] = once_value_436;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_435 = fra.me.REG[6];
                register_static_object(&once_value_435);
                } else fra.me.REG[6] = once_value_435;
@@ -14555,7 +14608,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:874 */
+               /* compiling/compiling_icode.nit:876 */
                if (!once_value_437) {
                fra.me.REG[6] = BOX_NativeString("Nit_gc_force_garbage_collection()");
                REGB1 = TAG_Int(33);
@@ -14567,7 +14620,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[5] = fra.me.REG[6];
                }
               } else {
-               /* compiling/compiling_icode.nit:876 */
+               /* compiling/compiling_icode.nit:878 */
                if (!once_value_438) {
                if (!once_value_439) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -14577,7 +14630,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_439);
                } else fra.me.REG[6] = once_value_439;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_438 = fra.me.REG[6];
                register_static_object(&once_value_438);
                } else fra.me.REG[6] = once_value_438;
@@ -14589,7 +14642,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:877 */
+               /* compiling/compiling_icode.nit:879 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_440) {
@@ -14611,7 +14664,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14626,11 +14679,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14648,7 +14701,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label441;
                label441: while(0);
-               /* compiling/compiling_icode.nit:877 */
+               /* compiling/compiling_icode.nit:879 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_442) {
                fra.me.REG[2] = BOX_NativeString(")[1].object_id)");
@@ -14662,7 +14715,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:878 */
+               /* compiling/compiling_icode.nit:880 */
                if (!once_value_443) {
                if (!once_value_444) {
                fra.me.REG[6] = BOX_NativeString("sys");
@@ -14672,7 +14725,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_444);
                } else fra.me.REG[6] = once_value_444;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_443 = fra.me.REG[6];
                register_static_object(&once_value_443);
                } else fra.me.REG[6] = once_value_443;
@@ -14684,7 +14737,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:879 */
+               /* compiling/compiling_icode.nit:881 */
                if (!once_value_445) {
                fra.me.REG[6] = BOX_NativeString("(G_sys)");
                REGB1 = TAG_Int(7);
@@ -14695,7 +14748,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = fra.me.REG[6];
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:880 */
+               /* compiling/compiling_icode.nit:882 */
                if (!once_value_446) {
                if (!once_value_447) {
                fra.me.REG[6] = BOX_NativeString("is_same_type");
@@ -14705,7 +14758,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_447);
                } else fra.me.REG[6] = once_value_447;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_446 = fra.me.REG[6];
                register_static_object(&once_value_446);
                } else fra.me.REG[6] = once_value_446;
@@ -14717,7 +14770,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:881 */
+               /* compiling/compiling_icode.nit:883 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_448) {
@@ -14739,7 +14792,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14754,11 +14807,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14776,7 +14829,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label449;
                label449: while(0);
-               /* compiling/compiling_icode.nit:881 */
+               /* compiling/compiling_icode.nit:883 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_450) {
                fra.me.REG[2] = BOX_NativeString(")==VAL2VFT(");
@@ -14797,7 +14850,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14812,11 +14865,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14834,7 +14887,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label451;
                label451: while(0);
-               /* compiling/compiling_icode.nit:881 */
+               /* compiling/compiling_icode.nit:883 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_452) {
                fra.me.REG[2] = BOX_NativeString(")))");
@@ -14848,7 +14901,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:882 */
+               /* compiling/compiling_icode.nit:884 */
                if (!once_value_453) {
                if (!once_value_454) {
                fra.me.REG[6] = BOX_NativeString("exit");
@@ -14858,7 +14911,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_454);
                } else fra.me.REG[6] = once_value_454;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_453 = fra.me.REG[6];
                register_static_object(&once_value_453);
                } else fra.me.REG[6] = once_value_453;
@@ -14870,7 +14923,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:883 */
+               /* compiling/compiling_icode.nit:885 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_455) {
@@ -14892,7 +14945,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -14907,11 +14960,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -14929,7 +14982,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label456;
                label456: while(0);
-               /* compiling/compiling_icode.nit:883 */
+               /* compiling/compiling_icode.nit:885 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_457) {
                fra.me.REG[2] = BOX_NativeString("));");
@@ -14943,7 +14996,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:884 */
+               /* compiling/compiling_icode.nit:886 */
                if (!once_value_458) {
                if (!once_value_459) {
                fra.me.REG[6] = BOX_NativeString("calloc_array");
@@ -14953,7 +15006,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_459);
                } else fra.me.REG[6] = once_value_459;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_458 = fra.me.REG[6];
                register_static_object(&once_value_458);
                } else fra.me.REG[6] = once_value_458;
@@ -14965,7 +15018,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:885 */
+               /* compiling/compiling_icode.nit:887 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_460) {
@@ -14987,7 +15040,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -15002,11 +15055,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -15024,7 +15077,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label461;
                label461: while(0);
-               /* compiling/compiling_icode.nit:885 */
+               /* compiling/compiling_icode.nit:887 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_462) {
                fra.me.REG[2] = BOX_NativeString("), sizeof(val_t))");
@@ -15038,7 +15091,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:886 */
+               /* compiling/compiling_icode.nit:888 */
                if (!once_value_463) {
                if (!once_value_464) {
                fra.me.REG[6] = BOX_NativeString("calloc_string");
@@ -15048,7 +15101,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_464);
                } else fra.me.REG[6] = once_value_464;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_463 = fra.me.REG[6];
                register_static_object(&once_value_463);
                } else fra.me.REG[6] = once_value_463;
@@ -15060,7 +15113,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:887 */
+               /* compiling/compiling_icode.nit:889 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_465) {
@@ -15082,7 +15135,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -15097,11 +15150,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -15119,7 +15172,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label466;
                label466: while(0);
-               /* compiling/compiling_icode.nit:887 */
+               /* compiling/compiling_icode.nit:889 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_467) {
                fra.me.REG[2] = BOX_NativeString(") * sizeof(char))))");
@@ -15133,7 +15186,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:889 */
+               /* compiling/compiling_icode.nit:891 */
                if (!once_value_468) {
                if (!once_value_469) {
                fra.me.REG[6] = BOX_NativeString("output_class_name");
@@ -15143,7 +15196,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_469);
                } else fra.me.REG[6] = once_value_469;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_468 = fra.me.REG[6];
                register_static_object(&once_value_468);
                } else fra.me.REG[6] = once_value_468;
@@ -15155,7 +15208,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:890 */
+               /* compiling/compiling_icode.nit:892 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_470) {
@@ -15177,7 +15230,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -15192,11 +15245,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -15214,7 +15267,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label471;
                label471: while(0);
-               /* compiling/compiling_icode.nit:890 */
+               /* compiling/compiling_icode.nit:892 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                if (!once_value_472) {
                fra.me.REG[2] = BOX_NativeString(")[2].cname);");
@@ -15228,7 +15281,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* compiling/compiling_icode.nit:892 */
+               /* compiling/compiling_icode.nit:894 */
                if (!once_value_473) {
                if (!once_value_474) {
                fra.me.REG[6] = BOX_NativeString("native_class_name");
@@ -15238,7 +15291,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                register_static_object(&once_value_474);
                } else fra.me.REG[6] = once_value_474;
                fra.me.REG[6] = fra.me.REG[6];
-               fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+               fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
                once_value_473 = fra.me.REG[6];
                register_static_object(&once_value_473);
                } else fra.me.REG[6] = once_value_473;
@@ -15250,7 +15303,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* compiling/compiling_icode.nit:893 */
+               /* compiling/compiling_icode.nit:895 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_475) {
@@ -15270,7 +15323,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:233 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
                /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
@@ -15285,11 +15338,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
                }
-               /* ../lib/standard/kernel.nit:232 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
                /* ../lib/standard/collection/array.nit:280 */
-               REGB0 = TAG_Bool(false);
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
@@ -15307,7 +15360,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                /* ../lib/standard/collection/array.nit:281 */
                goto label476;
                label476: while(0);
-               /* compiling/compiling_icode.nit:893 */
+               /* compiling/compiling_icode.nit:895 */
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
                if (!once_value_477) {
                fra.me.REG[4] = BOX_NativeString(")[2].cname);");
@@ -15335,13 +15388,13 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   }
-  /* compiling/compiling_icode.nit:896 */
+  /* compiling/compiling_icode.nit:898 */
   REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
@@ -15349,15 +15402,15 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:897 */
+    /* compiling/compiling_icode.nit:899 */
     fra.me.REG[6] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:898 */
+    /* compiling/compiling_icode.nit:900 */
     REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
       REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
       if (UNTAG_Bool(REGB2)) {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       } else {
         REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
@@ -15379,7 +15432,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
       REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 898);
+        nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 900);
       }
       fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
@@ -15395,7 +15448,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
       CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
     }
-    /* compiling/compiling_icode.nit:899 */
+    /* compiling/compiling_icode.nit:901 */
     REGB1 = TAG_Int(3);
     fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_480) {
@@ -15421,7 +15474,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
     fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:900 */
+    /* compiling/compiling_icode.nit:902 */
     if (!once_value_482) {
       fra.me.REG[4] = BOX_NativeString("nit_exit(1);");
       REGB1 = TAG_Int(12);
@@ -15431,7 +15484,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     } else fra.me.REG[4] = once_value_482;
     fra.me.REG[4] = fra.me.REG[4];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:901 */
+    /* compiling/compiling_icode.nit:903 */
     if (!once_value_483) {
       fra.me.REG[4] = BOX_NativeString("NIT_NULL");
       REGB1 = TAG_Int(8);
@@ -15442,14 +15495,14 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     fra.me.REG[4] = fra.me.REG[4];
     fra.me.REG[5] = fra.me.REG[4];
   }
-  /* compiling/compiling_icode.nit:903 */
+  /* compiling/compiling_icode.nit:905 */
   fra.me.REG[4] = CALL_icode___icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
   REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
@@ -15457,9 +15510,9 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:904 */
+    /* compiling/compiling_icode.nit:906 */
     fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-    fra.me.REG[4] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+    fra.me.REG[4] = CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
     if (!once_value_484) {
       fra.me.REG[6] = BOX_NativeString(";\n");
       REGB1 = TAG_Int(2);
@@ -15468,20 +15521,21 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       register_static_object(&once_value_484);
     } else fra.me.REG[6] = once_value_484;
     fra.me.REG[6] = fra.me.REG[6];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
   } else {
-    /* compiling/compiling_icode.nit:905 */
+    /* compiling/compiling_icode.nit:907 */
     REGB1 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
     if (UNTAG_Bool(REGB1)) {
-      /* compiling/compiling_icode.nit:906 */
+      /* compiling/compiling_icode.nit:908 */
       fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-      /* compiling/compiling_icode.nit:907 */
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
+      /* compiling/compiling_icode.nit:909 */
+      CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
     }
   }
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IIntValue___compile_to_c[] = "compiling_icode::IIntValue::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15490,7 +15544,7 @@ void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 913;
+  fra.me.line = 915;
   fra.me.meth = LOCATE_compiling___compiling_icode___IIntValue___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15500,12 +15554,12 @@ void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:915 */
+  /* compiling/compiling_icode.nit:917 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:916 */
+  /* compiling/compiling_icode.nit:918 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:917 */
+  /* compiling/compiling_icode.nit:919 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Int(");
     REGB0 = TAG_Int(8);
@@ -15514,10 +15568,10 @@ void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  fra.me.REG[2] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[2] = CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[0] = CALL_icode___icode_base___IIntValue___value(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  fra.me.REG[0] = CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   if (!once_value_2) {
     fra.me.REG[2] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15526,10 +15580,11 @@ void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[2] = once_value_2;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c[] = "compiling_icode::IBoolValue::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15540,7 +15595,7 @@ void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1)
   static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 922;
+  fra.me.line = 924;
   fra.me.meth = LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15550,12 +15605,12 @@ void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1)
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:924 */
+  /* compiling/compiling_icode.nit:926 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:925 */
+  /* compiling/compiling_icode.nit:927 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:926 */
+  /* compiling/compiling_icode.nit:928 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -15564,31 +15619,31 @@ void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:927 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:929 */
   REGB0 = CALL_icode___icode_base___IBoolValue___value(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     if (!once_value_2) {
-      fra.me.REG[0] = BOX_NativeString("true");
-      REGB0 = TAG_Int(4);
+      fra.me.REG[0] = BOX_NativeString("1");
+      REGB0 = TAG_Int(1);
       fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
       once_value_2 = fra.me.REG[0];
       register_static_object(&once_value_2);
     } else fra.me.REG[0] = once_value_2;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   } else {
     if (!once_value_3) {
-      fra.me.REG[0] = BOX_NativeString("false");
-      REGB0 = TAG_Int(5);
+      fra.me.REG[0] = BOX_NativeString("0");
+      REGB0 = TAG_Int(1);
       fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
       once_value_3 = fra.me.REG[0];
       register_static_object(&once_value_3);
     } else fra.me.REG[0] = once_value_3;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:928 */
+  /* compiling/compiling_icode.nit:930 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15597,10 +15652,11 @@ void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ICharValue___compile_to_c[] = "compiling_icode::ICharValue::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15609,7 +15665,7 @@ void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0, val_t p1)
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 933;
+  fra.me.line = 935;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICharValue___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15619,12 +15675,12 @@ void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0, val_t p1)
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:935 */
+  /* compiling/compiling_icode.nit:937 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:936 */
+  /* compiling/compiling_icode.nit:938 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:937 */
+  /* compiling/compiling_icode.nit:939 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Char(");
     REGB0 = TAG_Int(9);
@@ -15633,9 +15689,9 @@ void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  fra.me.REG[2] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[2] = CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[0] = CALL_icode___icode_base___ICharValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  fra.me.REG[0] = CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   if (!once_value_2) {
     fra.me.REG[2] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15644,10 +15700,11 @@ void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_2);
   } else fra.me.REG[2] = once_value_2;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c[] = "compiling_icode::IFloatValue::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15656,7 +15713,7 @@ void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0, val_t p1
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 942;
+  fra.me.line = 944;
   fra.me.meth = LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15666,12 +15723,12 @@ void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0, val_t p1
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:944 */
+  /* compiling/compiling_icode.nit:946 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:945 */
+  /* compiling/compiling_icode.nit:947 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:946 */
+  /* compiling/compiling_icode.nit:948 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_Float(");
     REGB0 = TAG_Int(10);
@@ -15680,9 +15737,9 @@ void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0, val_t p1
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  fra.me.REG[2] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[2] = CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[0] = CALL_icode___icode_base___IFloatValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  fra.me.REG[0] = CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   if (!once_value_2) {
     fra.me.REG[2] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15691,10 +15748,11 @@ void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0, val_t p1
     register_static_object(&once_value_2);
   } else fra.me.REG[2] = once_value_2;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IStringValue___compile_to_c[] = "compiling_icode::IStringValue::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15703,7 +15761,7 @@ void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0, val_t p
   static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 951;
+  fra.me.line = 953;
   fra.me.meth = LOCATE_compiling___compiling_icode___IStringValue___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15713,12 +15771,12 @@ void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0, val_t p
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:953 */
+  /* compiling/compiling_icode.nit:955 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:954 */
+  /* compiling/compiling_icode.nit:956 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:955 */
+  /* compiling/compiling_icode.nit:957 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_NativeString(\"");
     REGB0 = TAG_Int(18);
@@ -15727,9 +15785,9 @@ void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0, val_t p
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  fra.me.REG[2] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[2] = CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[0] = CALL_icode___icode_base___IStringValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  fra.me.REG[0] = CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   if (!once_value_2) {
     fra.me.REG[2] = BOX_NativeString("\")");
     REGB0 = TAG_Int(2);
@@ -15738,10 +15796,11 @@ void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0, val_t p
     register_static_object(&once_value_2);
   } else fra.me.REG[2] = once_value_2;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IAbort___compile_to_c[] = "compiling_icode::IAbort::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -15758,7 +15817,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_10; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 960;
+  fra.me.line = 962;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAbort___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -15768,12 +15827,12 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:962 */
+  /* compiling/compiling_icode.nit:964 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:963 */
+  /* compiling/compiling_icode.nit:965 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:964 */
+  /* compiling/compiling_icode.nit:966 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("nit_abort(\"");
     REGB0 = TAG_Int(11);
@@ -15782,8 +15841,8 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_1);
   } else fra.me.REG[2] = once_value_1;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:965 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:967 */
   fra.me.REG[2] = CALL_icode___icode_base___IAbort___texts(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(0);
   /* ../lib/standard/collection/array.nit:280 */
@@ -15793,7 +15852,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
   /* ../lib/standard/collection/array.nit:280 */
   if (UNTAG_Bool(REGB1)) {
@@ -15808,11 +15867,11 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
   } else {
     /* ../lib/standard/collection/array.nit:280 */
-    REGB2 = TAG_Bool(false);
+    REGB2 = TAG_Bool(0);
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
@@ -15830,9 +15889,9 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   /* ../lib/standard/collection/array.nit:281 */
   goto label2;
   label2: while(0);
-  /* compiling/compiling_icode.nit:965 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:966 */
+  /* compiling/compiling_icode.nit:967 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:968 */
   fra.me.REG[2] = CALL_icode___icode_base___IAbort___texts(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
@@ -15841,18 +15900,18 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:966 */
+  /* compiling/compiling_icode.nit:968 */
   REGB1 = TAG_Int(1);
   REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
   if (UNTAG_Bool(REGB2)) {
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:234 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* compiling/compiling_icode.nit:966 */
+  /* compiling/compiling_icode.nit:968 */
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:967 */
+    /* compiling/compiling_icode.nit:969 */
     if (!once_value_3) {
       fra.me.REG[2] = BOX_NativeString("\", \"");
       REGB1 = TAG_Int(4);
@@ -15861,8 +15920,8 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_3);
     } else fra.me.REG[2] = once_value_3;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:968 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:970 */
     fra.me.REG[2] = CALL_icode___icode_base___IAbort___texts(fra.me.REG[0])(fra.me.REG[0]);
     REGB1 = TAG_Int(1);
     /* ../lib/standard/collection/array.nit:280 */
@@ -15872,7 +15931,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:233 */
+    /* ../lib/standard/kernel.nit:236 */
     REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
     /* ../lib/standard/collection/array.nit:280 */
     if (UNTAG_Bool(REGB0)) {
@@ -15887,11 +15946,11 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:232 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
     } else {
       /* ../lib/standard/collection/array.nit:280 */
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB0 = REGB2;
     }
     if (UNTAG_Bool(REGB0)) {
@@ -15909,9 +15968,9 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     /* ../lib/standard/collection/array.nit:281 */
     goto label4;
     label4: while(0);
-    /* compiling/compiling_icode.nit:968 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:969 */
+    /* compiling/compiling_icode.nit:970 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:971 */
     if (!once_value_5) {
       fra.me.REG[2] = BOX_NativeString("\"");
       REGB1 = TAG_Int(1);
@@ -15920,9 +15979,9 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_5);
     } else fra.me.REG[2] = once_value_5;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   } else {
-    /* compiling/compiling_icode.nit:971 */
+    /* compiling/compiling_icode.nit:973 */
     if (!once_value_6) {
       fra.me.REG[2] = BOX_NativeString("\", NULL");
       REGB1 = TAG_Int(7);
@@ -15931,9 +15990,9 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_6);
     } else fra.me.REG[2] = once_value_6;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   }
-  /* compiling/compiling_icode.nit:973 */
+  /* compiling/compiling_icode.nit:975 */
   if (!once_value_7) {
     fra.me.REG[2] = BOX_NativeString(", LOCATE_");
     REGB1 = TAG_Int(9);
@@ -15942,20 +16001,20 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_7);
   } else fra.me.REG[2] = once_value_7;
   fra.me.REG[2] = fra.me.REG[2];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:974 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:976 */
   fra.me.REG[2] = CALL_icode___icode_base___IAbort___module_location(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_compiling___compiling_base___MMModule___cname(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:975 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  /* compiling/compiling_icode.nit:977 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:976 */
+  /* compiling/compiling_icode.nit:978 */
   REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      REGB0 = TAG_Bool(false);
+      REGB0 = TAG_Bool(0);
       REGB1 = REGB0;
     } else {
       REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -15964,7 +16023,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   }
   REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:977 */
+    /* compiling/compiling_icode.nit:979 */
     if (!once_value_8) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB1 = TAG_Int(2);
@@ -15973,17 +16032,17 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_8);
     } else fra.me.REG[2] = once_value_8;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:978 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:980 */
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 978);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 980);
     }
     REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[0] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   } else {
-    /* compiling/compiling_icode.nit:980 */
+    /* compiling/compiling_icode.nit:982 */
     if (!once_value_9) {
       fra.me.REG[0] = BOX_NativeString(", 0");
       REGB1 = TAG_Int(3);
@@ -15992,9 +16051,9 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_9);
     } else fra.me.REG[0] = once_value_9;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:982 */
+  /* compiling/compiling_icode.nit:984 */
   if (!once_value_10) {
     fra.me.REG[0] = BOX_NativeString(");\n");
     REGB1 = TAG_Int(3);
@@ -16003,10 +16062,11 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_10);
   } else fra.me.REG[0] = once_value_10;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IMove___compile_to_c[] = "compiling_icode::IMove::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -16016,7 +16076,7 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 987;
+  fra.me.line = 989;
   fra.me.meth = LOCATE_compiling___compiling_icode___IMove___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -16028,26 +16088,26 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:987 */
-  fra.me.REG[2] = fra.me.REG[0];
   /* compiling/compiling_icode.nit:989 */
+  fra.me.REG[2] = fra.me.REG[0];
+  /* compiling/compiling_icode.nit:991 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:990 */
+  /* compiling/compiling_icode.nit:992 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:991 */
+  /* compiling/compiling_icode.nit:993 */
   fra.me.REG[4] = CALL_icode___icode_base___ICode___result(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_icode___icode_base___IRegister, ID_icode___icode_base___IRegister)) /*cast IRegister*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 991);
+    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 993);
   }
   fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:992 */
+  /* compiling/compiling_icode.nit:994 */
   REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[4]));
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -16057,14 +16117,14 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:993 */
+  /* compiling/compiling_icode.nit:995 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[2])(fra.me.REG[2]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:994 */
-  fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:995 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
   /* compiling/compiling_icode.nit:996 */
+  fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
+  /* compiling/compiling_icode.nit:997 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:998 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString(" = ");
     REGB0 = TAG_Int(3);
@@ -16073,10 +16133,10 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[4] = once_value_2;
   fra.me.REG[4] = fra.me.REG[4];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:997 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:998 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:999 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1000 */
   if (!once_value_3) {
     fra.me.REG[3] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -16085,11 +16145,12 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_3);
   } else fra.me.REG[3] = once_value_3;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c[] = "compiling_icode::IAttrRead::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -16098,7 +16159,7 @@ void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1003;
+  fra.me.line = 1005;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -16109,23 +16170,23 @@ void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1005 */
+  /* compiling/compiling_icode.nit:1007 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1006 */
+  /* compiling/compiling_icode.nit:1008 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1007 */
+  /* compiling/compiling_icode.nit:1009 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1008 */
+  /* compiling/compiling_icode.nit:1010 */
   fra.me.REG[3] = CALL_icode___icode_base___IAttrRead___property(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1009 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1011 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -16134,12 +16195,12 @@ void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1010 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1012 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1011 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1013 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -16148,11 +16209,12 @@ void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c[] = "compiling_icode::IAttrIsset::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -16162,7 +16224,7 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
   static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1016;
+  fra.me.line = 1018;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -16173,18 +16235,18 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1018 */
+  /* compiling/compiling_icode.nit:1020 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1019 */
+  /* compiling/compiling_icode.nit:1021 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1020 */
+  /* compiling/compiling_icode.nit:1022 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1021 */
+  /* compiling/compiling_icode.nit:1023 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16193,13 +16255,13 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1022 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1024 */
   fra.me.REG[3] = CALL_icode___icode_base___IAttrIsset___property(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1023 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1025 */
   if (!once_value_3) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -16208,12 +16270,12 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_3);
   } else fra.me.REG[3] = once_value_3;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1024 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1026 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1025 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1027 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")!=NIT_NULL)");
     REGB0 = TAG_Int(12);
@@ -16222,11 +16284,12 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_4);
   } else fra.me.REG[0] = once_value_4;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c[] = "compiling_icode::IAttrWrite::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -16236,7 +16299,7 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1030;
+  fra.me.line = 1032;
   fra.me.meth = LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -16247,17 +16310,17 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1032 */
+  /* compiling/compiling_icode.nit:1034 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1033 */
+  /* compiling/compiling_icode.nit:1035 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1034 */
+  /* compiling/compiling_icode.nit:1036 */
   fra.me.REG[3] = CALL_icode___icode_base___IAttrWrite___property(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1035 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1037 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -16266,12 +16329,12 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_1);
   } else fra.me.REG[3] = once_value_1;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1036 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1038 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1037 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1039 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString(") = ");
     REGB0 = TAG_Int(4);
@@ -16280,12 +16343,12 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1038 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1040 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1039 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1041 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -16294,10 +16357,11 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c[] = "compiling_icode::ITypeCheck::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -16325,7 +16389,7 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     static val_t once_value_21; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1044;
+  fra.me.line = 1046;
   fra.me.meth = LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -16338,21 +16402,21 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1046 */
+  /* compiling/compiling_icode.nit:1048 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1047 */
+  /* compiling/compiling_icode.nit:1049 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1048 */
+  /* compiling/compiling_icode.nit:1050 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1049 */
+  /* compiling/compiling_icode.nit:1051 */
   fra.me.REG[3] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1050 */
+  /* compiling/compiling_icode.nit:1052 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16361,17 +16425,17 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     register_static_object(&once_value_2);
   } else fra.me.REG[4] = once_value_2;
   fra.me.REG[4] = fra.me.REG[4];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1051 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:1053 */
   fra.me.REG[4] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[4])(fra.me.REG[4]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1052 */
+    /* compiling/compiling_icode.nit:1054 */
     fra.me.REG[4] = CALL_icode___icode_base___ITypeCheck___stype(fra.me.REG[0])(fra.me.REG[0]);
     REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:1053 */
+      /* compiling/compiling_icode.nit:1055 */
       if (!once_value_3) {
         fra.me.REG[4] = BOX_NativeString("(");
         REGB0 = TAG_Int(1);
@@ -16380,10 +16444,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
         register_static_object(&once_value_3);
       } else fra.me.REG[4] = once_value_3;
       fra.me.REG[4] = fra.me.REG[4];
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-      /* compiling/compiling_icode.nit:1054 */
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-      /* compiling/compiling_icode.nit:1055 */
+      CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+      /* compiling/compiling_icode.nit:1056 */
+      CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+      /* compiling/compiling_icode.nit:1057 */
       if (!once_value_4) {
         fra.me.REG[4] = BOX_NativeString("==NIT_NULL) || ");
         REGB0 = TAG_Int(15);
@@ -16392,9 +16456,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
         register_static_object(&once_value_4);
       } else fra.me.REG[4] = once_value_4;
       fra.me.REG[4] = fra.me.REG[4];
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+      CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
     } else {
-      /* compiling/compiling_icode.nit:1056 */
+      /* compiling/compiling_icode.nit:1058 */
       fra.me.REG[4] = CALL_icode___icode_base___ITypeCheck___stype(fra.me.REG[0])(fra.me.REG[0]);
       fra.me.REG[4] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[4])(fra.me.REG[4]);
       fra.me.REG[5] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
@@ -16406,9 +16470,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
         REGB0 = REGB1;
       }
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:1057 */
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* compiling/compiling_icode.nit:1058 */
+        /* compiling/compiling_icode.nit:1059 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+        /* compiling/compiling_icode.nit:1060 */
         if (!once_value_5) {
           fra.me.REG[5] = BOX_NativeString("!=NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16417,11 +16481,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
           register_static_object(&once_value_5);
         } else fra.me.REG[5] = once_value_5;
         fra.me.REG[5] = fra.me.REG[5];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:1059 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
+        /* compiling/compiling_icode.nit:1061 */
         goto label1;
       } else {
-        /* compiling/compiling_icode.nit:1061 */
+        /* compiling/compiling_icode.nit:1063 */
         if (!once_value_6) {
           fra.me.REG[5] = BOX_NativeString("(");
           REGB0 = TAG_Int(1);
@@ -16430,10 +16494,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
           register_static_object(&once_value_6);
         } else fra.me.REG[5] = once_value_6;
         fra.me.REG[5] = fra.me.REG[5];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:1062 */
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* compiling/compiling_icode.nit:1063 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
+        /* compiling/compiling_icode.nit:1064 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+        /* compiling/compiling_icode.nit:1065 */
         if (!once_value_7) {
           fra.me.REG[5] = BOX_NativeString("!=NIT_NULL) && ");
           REGB0 = TAG_Int(15);
@@ -16442,22 +16506,22 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
           register_static_object(&once_value_7);
         } else fra.me.REG[5] = once_value_7;
         fra.me.REG[5] = fra.me.REG[5];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
+        CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
       }
     }
   }
-  /* compiling/compiling_icode.nit:1067 */
+  /* compiling/compiling_icode.nit:1069 */
   fra.me.REG[5] = CALL_icode___icode_base___ITypeCheck___stype(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1068 */
+  /* compiling/compiling_icode.nit:1070 */
   REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[5], COLOR_metamodel___virtualtype___MMVirtualType, ID_metamodel___virtualtype___MMVirtualType)) /*cast MMVirtualType*/;
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1069 */
+    /* compiling/compiling_icode.nit:1071 */
     fra.me.REG[0] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1070 */
+    /* compiling/compiling_icode.nit:1072 */
     fra.me.REG[1] = CALL_metamodel___virtualtype___MMVirtualType___property(fra.me.REG[5])(fra.me.REG[5]);
     fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[1])(fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:1071 */
+    /* compiling/compiling_icode.nit:1073 */
     if (!once_value_8) {
       fra.me.REG[4] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16466,10 +16530,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_8);
     } else fra.me.REG[4] = once_value_8;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1072 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1073 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1074 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:1075 */
     if (!once_value_9) {
       fra.me.REG[4] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16478,11 +16542,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_9);
     } else fra.me.REG[4] = once_value_9;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1074 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1076 */
     fra.me.REG[4] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra.me.REG[1])(fra.me.REG[1]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1075 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1077 */
     if (!once_value_10) {
       fra.me.REG[4] = BOX_NativeString("(");
       REGB0 = TAG_Int(1);
@@ -16491,10 +16555,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_10);
     } else fra.me.REG[4] = once_value_10;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1076 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1077 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1078 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1079 */
     if (!once_value_11) {
       fra.me.REG[4] = BOX_NativeString(")");
       REGB0 = TAG_Int(1);
@@ -16503,8 +16567,8 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_11);
     } else fra.me.REG[4] = once_value_11;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1078 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1080 */
     if (!once_value_12) {
       fra.me.REG[4] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16513,11 +16577,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_12);
     } else fra.me.REG[4] = once_value_12;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1079 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1081 */
     fra.me.REG[1] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra.me.REG[1])(fra.me.REG[1]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:1080 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
+    /* compiling/compiling_icode.nit:1082 */
     if (!once_value_13) {
       fra.me.REG[1] = BOX_NativeString("(");
       REGB0 = TAG_Int(1);
@@ -16526,10 +16590,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_13);
     } else fra.me.REG[1] = once_value_13;
     fra.me.REG[1] = fra.me.REG[1];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:1081 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1082 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
+    /* compiling/compiling_icode.nit:1083 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1084 */
     if (!once_value_14) {
       fra.me.REG[0] = BOX_NativeString(")");
       REGB0 = TAG_Int(1);
@@ -16538,8 +16602,8 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_14);
     } else fra.me.REG[0] = once_value_14;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1083 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1085 */
     if (!once_value_15) {
       fra.me.REG[0] = BOX_NativeString(")) /*cast ");
       REGB0 = TAG_Int(10);
@@ -16548,11 +16612,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_15);
     } else fra.me.REG[0] = once_value_15;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1084 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1086 */
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1085 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1087 */
     if (!once_value_16) {
       fra.me.REG[0] = BOX_NativeString("*/");
       REGB0 = TAG_Int(2);
@@ -16561,12 +16625,12 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_16);
     } else fra.me.REG[0] = once_value_16;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
   } else {
-    /* compiling/compiling_icode.nit:1087 */
+    /* compiling/compiling_icode.nit:1089 */
     fra.me.REG[0] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[5])(fra.me.REG[5]);
     fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1088 */
+    /* compiling/compiling_icode.nit:1090 */
     if (!once_value_17) {
       fra.me.REG[1] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16575,10 +16639,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_17);
     } else fra.me.REG[1] = once_value_17;
     fra.me.REG[1] = fra.me.REG[1];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-    /* compiling/compiling_icode.nit:1089 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1090 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
+    /* compiling/compiling_icode.nit:1091 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:1092 */
     if (!once_value_18) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16587,11 +16651,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_18);
     } else fra.me.REG[2] = once_value_18;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1091 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:1093 */
     fra.me.REG[2] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra.me.REG[0])(fra.me.REG[0]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1092 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:1094 */
     if (!once_value_19) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16600,11 +16664,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_19);
     } else fra.me.REG[2] = once_value_19;
     fra.me.REG[2] = fra.me.REG[2];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1093 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+    /* compiling/compiling_icode.nit:1095 */
     fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra.me.REG[0])(fra.me.REG[0]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1094 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1096 */
     if (!once_value_20) {
       fra.me.REG[0] = BOX_NativeString(")) /*cast ");
       REGB0 = TAG_Int(10);
@@ -16613,11 +16677,11 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_20);
     } else fra.me.REG[0] = once_value_20;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1095 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1097 */
     fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
-    /* compiling/compiling_icode.nit:1096 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
+    /* compiling/compiling_icode.nit:1098 */
     if (!once_value_21) {
       fra.me.REG[5] = BOX_NativeString("*/");
       REGB0 = TAG_Int(2);
@@ -16626,12 +16690,13 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       register_static_object(&once_value_21);
     } else fra.me.REG[5] = once_value_21;
     fra.me.REG[5] = fra.me.REG[5];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
   }
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IIs___compile_to_c[] = "compiling_icode::IIs::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -16652,7 +16717,7 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_15; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1102;
+  fra.me.line = 1104;
   fra.me.meth = LOCATE_compiling___compiling_icode___IIs___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -16665,18 +16730,18 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1104 */
+  /* compiling/compiling_icode.nit:1106 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1105 */
+  /* compiling/compiling_icode.nit:1107 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1106 */
+  /* compiling/compiling_icode.nit:1108 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1107 */
+  /* compiling/compiling_icode.nit:1109 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16685,20 +16750,20 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1108 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1110 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[3])(fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1109 */
+  /* compiling/compiling_icode.nit:1111 */
   fra.me.REG[4] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[4])(fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1110 */
+  /* compiling/compiling_icode.nit:1112 */
   REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1111 */
+    /* compiling/compiling_icode.nit:1113 */
     REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:1112 */
+      /* compiling/compiling_icode.nit:1114 */
       if (!once_value_3) {
         fra.me.REG[5] = BOX_NativeString("1)");
         REGB0 = TAG_Int(2);
@@ -16707,18 +16772,18 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
         register_static_object(&once_value_3);
       } else fra.me.REG[5] = once_value_3;
       fra.me.REG[5] = fra.me.REG[5];
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-      /* compiling/compiling_icode.nit:1113 */
+      CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
+      /* compiling/compiling_icode.nit:1115 */
       goto label1;
     } else {
-      /* compiling/compiling_icode.nit:1114 */
+      /* compiling/compiling_icode.nit:1116 */
       REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:1115 */
+        /* compiling/compiling_icode.nit:1117 */
         fra.me.REG[5] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
         fra.me.REG[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:1116 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
+        /* compiling/compiling_icode.nit:1118 */
         if (!once_value_4) {
           fra.me.REG[5] = BOX_NativeString("==NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16727,11 +16792,11 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_4);
         } else fra.me.REG[5] = once_value_4;
         fra.me.REG[5] = fra.me.REG[5];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:1117 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
+        /* compiling/compiling_icode.nit:1119 */
         goto label1;
       } else {
-        /* compiling/compiling_icode.nit:1119 */
+        /* compiling/compiling_icode.nit:1121 */
         if (!once_value_5) {
           fra.me.REG[5] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16740,23 +16805,23 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_5);
         } else fra.me.REG[5] = once_value_5;
         fra.me.REG[5] = fra.me.REG[5];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-        /* compiling/compiling_icode.nit:1120 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
+        /* compiling/compiling_icode.nit:1122 */
         goto label1;
       }
     }
   } else {
-    /* compiling/compiling_icode.nit:1122 */
+    /* compiling/compiling_icode.nit:1124 */
     REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
     if (UNTAG_Bool(REGB0)) {
-      /* compiling/compiling_icode.nit:1123 */
+      /* compiling/compiling_icode.nit:1125 */
       REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:1124 */
+        /* compiling/compiling_icode.nit:1126 */
         fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
         fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-        /* compiling/compiling_icode.nit:1125 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+        /* compiling/compiling_icode.nit:1127 */
         if (!once_value_6) {
           fra.me.REG[3] = BOX_NativeString("==NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16765,14 +16830,14 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_6);
         } else fra.me.REG[3] = once_value_6;
         fra.me.REG[3] = fra.me.REG[3];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-        /* compiling/compiling_icode.nit:1126 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+        /* compiling/compiling_icode.nit:1128 */
         goto label1;
       } else {
-        /* compiling/compiling_icode.nit:1127 */
+        /* compiling/compiling_icode.nit:1129 */
         REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
         if (UNTAG_Bool(REGB0)) {
-          /* compiling/compiling_icode.nit:1128 */
+          /* compiling/compiling_icode.nit:1130 */
           if (!once_value_7) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_NN(");
             REGB0 = TAG_Int(12);
@@ -16781,9 +16846,9 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_7);
           } else fra.me.REG[3] = once_value_7;
           fra.me.REG[3] = fra.me.REG[3];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
         } else {
-          /* compiling/compiling_icode.nit:1130 */
+          /* compiling/compiling_icode.nit:1132 */
           if (!once_value_8) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16792,12 +16857,12 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_8);
           } else fra.me.REG[3] = once_value_8;
           fra.me.REG[3] = fra.me.REG[3];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-          /* compiling/compiling_icode.nit:1131 */
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          /* compiling/compiling_icode.nit:1133 */
           fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
           fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-          /* compiling/compiling_icode.nit:1132 */
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          /* compiling/compiling_icode.nit:1134 */
           if (!once_value_9) {
             fra.me.REG[3] = BOX_NativeString(",");
             REGB0 = TAG_Int(1);
@@ -16806,12 +16871,12 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_9);
           } else fra.me.REG[3] = once_value_9;
           fra.me.REG[3] = fra.me.REG[3];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-          /* compiling/compiling_icode.nit:1133 */
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          /* compiling/compiling_icode.nit:1135 */
           fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
           fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-          /* compiling/compiling_icode.nit:1134 */
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          /* compiling/compiling_icode.nit:1136 */
           if (!once_value_10) {
             fra.me.REG[3] = BOX_NativeString("))");
             REGB0 = TAG_Int(2);
@@ -16820,16 +16885,16 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_10);
           } else fra.me.REG[3] = once_value_10;
           fra.me.REG[3] = fra.me.REG[3];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-          /* compiling/compiling_icode.nit:1135 */
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+          /* compiling/compiling_icode.nit:1137 */
           goto label1;
         }
       }
     } else {
-      /* compiling/compiling_icode.nit:1138 */
+      /* compiling/compiling_icode.nit:1140 */
       REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
       if (UNTAG_Bool(REGB0)) {
-        /* compiling/compiling_icode.nit:1139 */
+        /* compiling/compiling_icode.nit:1141 */
         if (!once_value_11) {
           fra.me.REG[3] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16838,14 +16903,14 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           register_static_object(&once_value_11);
         } else fra.me.REG[3] = once_value_11;
         fra.me.REG[3] = fra.me.REG[3];
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-        /* compiling/compiling_icode.nit:1140 */
+        CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+        /* compiling/compiling_icode.nit:1142 */
         goto label1;
       } else {
-        /* compiling/compiling_icode.nit:1141 */
+        /* compiling/compiling_icode.nit:1143 */
         REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
         if (UNTAG_Bool(REGB0)) {
-          /* compiling/compiling_icode.nit:1142 */
+          /* compiling/compiling_icode.nit:1144 */
           if (!once_value_12) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16854,9 +16919,9 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_12);
           } else fra.me.REG[4] = once_value_12;
           fra.me.REG[4] = fra.me.REG[4];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
         } else {
-          /* compiling/compiling_icode.nit:1144 */
+          /* compiling/compiling_icode.nit:1146 */
           if (!once_value_13) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_OO(");
             REGB0 = TAG_Int(12);
@@ -16865,16 +16930,16 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
             register_static_object(&once_value_13);
           } else fra.me.REG[4] = once_value_13;
           fra.me.REG[4] = fra.me.REG[4];
-          CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+          CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
         }
       }
     }
   }
-  /* compiling/compiling_icode.nit:1147 */
+  /* compiling/compiling_icode.nit:1149 */
   fra.me.REG[4] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1148 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:1150 */
   if (!once_value_14) {
     fra.me.REG[4] = BOX_NativeString(",");
     REGB0 = TAG_Int(1);
@@ -16883,12 +16948,12 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_14);
   } else fra.me.REG[4] = once_value_14;
   fra.me.REG[4] = fra.me.REG[4];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1149 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:1151 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1150 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1152 */
   if (!once_value_15) {
     fra.me.REG[0] = BOX_NativeString("))");
     REGB0 = TAG_Int(2);
@@ -16897,11 +16962,12 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_15);
   } else fra.me.REG[0] = once_value_15;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___INot___compile_to_c[] = "compiling_icode::INot::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -16910,7 +16976,7 @@ void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_3; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1155;
+  fra.me.line = 1157;
   fra.me.meth = LOCATE_compiling___compiling_icode___INot___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -16921,18 +16987,18 @@ void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1157 */
+  /* compiling/compiling_icode.nit:1159 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1158 */
+  /* compiling/compiling_icode.nit:1160 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1159 */
+  /* compiling/compiling_icode.nit:1161 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1160 */
+  /* compiling/compiling_icode.nit:1162 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
     REGB0 = TAG_Int(21);
@@ -16941,12 +17007,12 @@ void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1161 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1163 */
   fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1162 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1164 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString("))");
     REGB0 = TAG_Int(2);
@@ -16955,11 +17021,12 @@ void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_3);
   } else fra.me.REG[0] = once_value_3;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IOnce___compile_to_c[] = "compiling_icode::IOnce::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -16986,7 +17053,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_19; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1167;
+  fra.me.line = 1169;
   fra.me.meth = LOCATE_compiling___compiling_icode___IOnce___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -16999,25 +17066,25 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1167 */
-  fra.me.REG[2] = fra.me.REG[0];
   /* compiling/compiling_icode.nit:1169 */
+  fra.me.REG[2] = fra.me.REG[0];
+  /* compiling/compiling_icode.nit:1171 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode___location(fra.me.REG[2])(fra.me.REG[2]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1170 */
+  /* compiling/compiling_icode.nit:1172 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1171 */
+  /* compiling/compiling_icode.nit:1173 */
   fra.me.REG[3] = CALL_icode___icode_base___ICode___result(fra.me.REG[2])(fra.me.REG[2]);
   REGB1 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___IRegister, ID_icode___icode_base___IRegister)) /*cast IRegister*/;
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 1171);
+    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 1173);
   }
-  /* compiling/compiling_icode.nit:1172 */
+  /* compiling/compiling_icode.nit:1174 */
   fra.me.REG[0] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB1 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:1173 */
+    /* compiling/compiling_icode.nit:1175 */
     REGB1 = TAG_Int(5);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_1) {
@@ -17053,7 +17120,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1174 */
+    /* compiling/compiling_icode.nit:1176 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_4) {
@@ -17079,7 +17146,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   } else {
-    /* compiling/compiling_icode.nit:1177 */
+    /* compiling/compiling_icode.nit:1179 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_6) {
@@ -17104,7 +17171,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1178 */
+    /* compiling/compiling_icode.nit:1180 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_8) {
@@ -17130,14 +17197,14 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:1180 */
+  /* compiling/compiling_icode.nit:1182 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1181 */
+  /* compiling/compiling_icode.nit:1183 */
   fra.me.REG[0] = CALL_icode___icode_base___IOnce___body(fra.me.REG[2])(fra.me.REG[2]);
   CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1182 */
+  /* compiling/compiling_icode.nit:1184 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1183 */
+  /* compiling/compiling_icode.nit:1185 */
   REGB1 = TAG_Int(5);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_10) {
@@ -17172,7 +17239,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
   fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1184 */
+  /* compiling/compiling_icode.nit:1186 */
   REGB1 = TAG_Int(3);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_13) {
@@ -17197,7 +17264,7 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
   fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1185 */
+  /* compiling/compiling_icode.nit:1187 */
   fra.me.REG[3] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB1 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB1)) {
@@ -17226,9 +17293,9 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   }
-  /* compiling/compiling_icode.nit:1186 */
+  /* compiling/compiling_icode.nit:1188 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1187 */
+  /* compiling/compiling_icode.nit:1189 */
   REGB1 = TAG_Int(5);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_17) {
@@ -17263,13 +17330,14 @@ void compiling___compiling_icode___IOnce___compile_to_c(val_t p0, val_t p1){
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1188 */
+  /* compiling/compiling_icode.nit:1190 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1189 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:1191 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IClosCall___compile_to_c[] = "compiling_icode::IClosCall::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -17291,7 +17359,7 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_14; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1194;
+  fra.me.line = 1196;
   fra.me.meth = LOCATE_compiling___compiling_icode___IClosCall___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -17305,13 +17373,13 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1196 */
+  /* compiling/compiling_icode.nit:1198 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1199 */
+  /* compiling/compiling_icode.nit:1201 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1200 */
+    /* compiling/compiling_icode.nit:1202 */
     REGB0 = TAG_Int(3);
     fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_1) {
@@ -17337,7 +17405,7 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[4] = fra.me.REG[4];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
     fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-    /* compiling/compiling_icode.nit:1201 */
+    /* compiling/compiling_icode.nit:1203 */
     REGB0 = TAG_Int(1);
     fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_3) {
@@ -17350,7 +17418,7 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
     fra.me.REG[3] = fra.me.REG[3];
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
   } else {
-    /* compiling/compiling_icode.nit:1203 */
+    /* compiling/compiling_icode.nit:1205 */
     REGB0 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_4) {
@@ -17377,7 +17445,7 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
     fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
     fra.me.REG[2] = fra.me.REG[3];
-    /* compiling/compiling_icode.nit:1204 */
+    /* compiling/compiling_icode.nit:1206 */
     REGB0 = TAG_Int(1);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_6) {
@@ -17391,11 +17459,11 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
     fra.me.REG[4] = fra.me.REG[3];
   }
-  /* compiling/compiling_icode.nit:1206 */
+  /* compiling/compiling_icode.nit:1208 */
   fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1208 */
+  /* compiling/compiling_icode.nit:1210 */
   REGB0 = TAG_Int(7);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_7) {
@@ -17450,13 +17518,13 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
   fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1209 */
-  fra.me.REG[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* compiling/compiling_icode.nit:1210 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
   /* compiling/compiling_icode.nit:1211 */
+  fra.me.REG[2] = NEW_Writer_compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:1212 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1213 */
   CALL_compiling___compiling_icode___ICode___store_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1214 */
+  /* compiling/compiling_icode.nit:1216 */
   REGB0 = TAG_Int(3);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_12) {
@@ -17481,17 +17549,17 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
   fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1215 */
+  /* compiling/compiling_icode.nit:1217 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1216 */
+  /* compiling/compiling_icode.nit:1218 */
   fra.me.REG[0] = CALL_icode___icode_base___IClosCall___break_seq(fra.me.REG[0])(fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1217 */
+  /* compiling/compiling_icode.nit:1219 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -17500,20 +17568,20 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1218 */
+    /* compiling/compiling_icode.nit:1220 */
     REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 1218);
+      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 1220);
     }
     CALL_compiling___compiling_icode___ICode___compile_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   }
-  /* compiling/compiling_icode.nit:1220 */
+  /* compiling/compiling_icode.nit:1222 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___iroutine(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[0] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1221 */
+  /* compiling/compiling_icode.nit:1223 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1222 */
+  /* compiling/compiling_icode.nit:1224 */
   if (!once_value_14) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -17526,6 +17594,7 @@ void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IHasClos___compile_to_c[] = "compiling_icode::IHasClos::(compiling_icode::ICode::compile_to_c)";
 void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -17538,7 +17607,7 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
   static val_t once_value_7; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1227;
+  fra.me.line = 1229;
   fra.me.meth = LOCATE_compiling___compiling_icode___IHasClos___compile_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -17550,18 +17619,18 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1229 */
+  /* compiling/compiling_icode.nit:1231 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* compiling/compiling_icode.nit:1230 */
+  /* compiling/compiling_icode.nit:1232 */
   fra.me.REG[2] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1231 */
+  /* compiling/compiling_icode.nit:1233 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1232 */
+  /* compiling/compiling_icode.nit:1234 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -17570,11 +17639,11 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_2);
   } else fra.me.REG[3] = once_value_2;
   fra.me.REG[3] = fra.me.REG[3];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1233 */
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:1235 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* compiling/compiling_icode.nit:1234 */
+    /* compiling/compiling_icode.nit:1236 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("closctx->closure_funs[");
       REGB0 = TAG_Int(22);
@@ -17583,13 +17652,13 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_3);
     } else fra.me.REG[3] = once_value_3;
     fra.me.REG[3] = fra.me.REG[3];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-    /* compiling/compiling_icode.nit:1235 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+    /* compiling/compiling_icode.nit:1237 */
     fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra.me.REG[1])(fra.me.REG[1]);
     fra.me.REG[4] = CALL_icode___icode_base___IHasClos___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1236 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1238 */
     if (!once_value_4) {
       fra.me.REG[4] = BOX_NativeString("]");
       REGB0 = TAG_Int(1);
@@ -17598,9 +17667,9 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_4);
     } else fra.me.REG[4] = once_value_4;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
   } else {
-    /* compiling/compiling_icode.nit:1238 */
+    /* compiling/compiling_icode.nit:1240 */
     if (!once_value_5) {
       fra.me.REG[4] = BOX_NativeString("CREG[");
       REGB0 = TAG_Int(5);
@@ -17609,13 +17678,13 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_5);
     } else fra.me.REG[4] = once_value_5;
     fra.me.REG[4] = fra.me.REG[4];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-    /* compiling/compiling_icode.nit:1239 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+    /* compiling/compiling_icode.nit:1241 */
     fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra.me.REG[1])(fra.me.REG[1]);
     fra.me.REG[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    /* compiling/compiling_icode.nit:1240 */
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+    /* compiling/compiling_icode.nit:1242 */
     if (!once_value_6) {
       fra.me.REG[0] = BOX_NativeString("]");
       REGB0 = TAG_Int(1);
@@ -17624,9 +17693,9 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
       register_static_object(&once_value_6);
     } else fra.me.REG[0] = once_value_6;
     fra.me.REG[0] = fra.me.REG[0];
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+    CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:1242 */
+  /* compiling/compiling_icode.nit:1244 */
   if (!once_value_7) {
     fra.me.REG[0] = BOX_NativeString(" != NULL)");
     REGB0 = TAG_Int(9);
@@ -17635,11 +17704,12 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
     register_static_object(&once_value_7);
   } else fra.me.REG[0] = once_value_7;
   fra.me.REG[0] = fra.me.REG[0];
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
+  CALL_compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_compiling___compiling_icode___IClosureDef___compile_closure[] = "compiling_icode::IClosureDef::compile_closure";
 val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
   val_t REGB0;
@@ -17658,7 +17728,7 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
   static val_t once_value_10; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_compiling___compiling_icode;
-  fra.me.line = 1247;
+  fra.me.line = 1249;
   fra.me.meth = LOCATE_compiling___compiling_icode___IClosureDef___compile_closure;
   fra.me.has_broke = 0;
   fra.me.REG_size = 9;
@@ -17674,31 +17744,31 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
   fra.me.REG[8] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* compiling/compiling_icode.nit:1251 */
+  /* compiling/compiling_icode.nit:1253 */
   fra.me.REG[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1254 */
+  /* compiling/compiling_icode.nit:1256 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1255 */
-  REGB1 = TAG_Bool(true);
+  /* compiling/compiling_icode.nit:1257 */
+  REGB1 = TAG_Bool(1);
   CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra.me.REG[1])(fra.me.REG[1], REGB1);
-  /* compiling/compiling_icode.nit:1258 */
+  /* compiling/compiling_icode.nit:1260 */
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1259 */
+  /* compiling/compiling_icode.nit:1261 */
   fra.me.REG[4] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
   CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1262 */
+  /* compiling/compiling_icode.nit:1264 */
   fra.me.REG[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1263 */
+  /* compiling/compiling_icode.nit:1265 */
   fra.me.REG[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra.me.REG[2])(fra.me.REG[2]);
-  /* compiling/compiling_icode.nit:1264 */
+  /* compiling/compiling_icode.nit:1266 */
   fra.me.REG[6] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra.me.REG[2])(fra.me.REG[2]);
-  fra.me.REG[6] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[6])(fra.me.REG[6]);
+  fra.me.REG[6] = CALL_compiling_writer___Writer___sub(fra.me.REG[6])(fra.me.REG[6]);
   CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
-  /* compiling/compiling_icode.nit:1265 */
+  /* compiling/compiling_icode.nit:1267 */
   fra.me.REG[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra.me.REG[2])(fra.me.REG[2]);
-  fra.me.REG[6] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[6])(fra.me.REG[6]);
+  fra.me.REG[6] = CALL_compiling_writer___Writer___sub(fra.me.REG[6])(fra.me.REG[6]);
   CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
-  /* compiling/compiling_icode.nit:1268 */
+  /* compiling/compiling_icode.nit:1270 */
   REGB1 = TAG_Int(5);
   fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_1) {
@@ -17734,7 +17804,7 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
   fra.me.REG[7] = fra.me.REG[7];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
   fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-  /* compiling/compiling_icode.nit:1269 */
+  /* compiling/compiling_icode.nit:1271 */
   fra.me.REG[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[1])(fra.me.REG[1]);
   if (!once_value_4) {
     fra.me.REG[8] = BOX_NativeString("struct stack_frame_t *closctx");
@@ -17745,19 +17815,19 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
   } else fra.me.REG[8] = once_value_4;
   fra.me.REG[8] = fra.me.REG[8];
   fra.me.REG[8] = CALL_compiling___compiling_icode___IRoutine___compile_signature_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[8], NIT_NULL);
-  /* compiling/compiling_icode.nit:1270 */
+  /* compiling/compiling_icode.nit:1272 */
   fra.me.REG[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra.me.REG[2])(fra.me.REG[2]);
-  fra.me.REG[7] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[7])(fra.me.REG[7]);
+  fra.me.REG[7] = CALL_compiling_writer___Writer___sub(fra.me.REG[7])(fra.me.REG[7]);
   CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
-  /* compiling/compiling_icode.nit:1272 */
+  /* compiling/compiling_icode.nit:1274 */
   fra.me.REG[8] = CALL_compiling___compiling_icode___IRoutine___compile_inside_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[8]);
-  /* compiling/compiling_icode.nit:1273 */
+  /* compiling/compiling_icode.nit:1275 */
   REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
@@ -17765,7 +17835,7 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* compiling/compiling_icode.nit:1274 */
+    /* compiling/compiling_icode.nit:1276 */
     if (!once_value_5) {
       fra.me.REG[0] = BOX_NativeString("return;");
       REGB1 = TAG_Int(7);
@@ -17776,7 +17846,7 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
     fra.me.REG[0] = fra.me.REG[0];
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   } else {
-    /* compiling/compiling_icode.nit:1276 */
+    /* compiling/compiling_icode.nit:1278 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_6) {
@@ -17801,9 +17871,9 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
     fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   }
-  /* compiling/compiling_icode.nit:1278 */
+  /* compiling/compiling_icode.nit:1280 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* compiling/compiling_icode.nit:1279 */
+  /* compiling/compiling_icode.nit:1281 */
   if (!once_value_8) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB1 = TAG_Int(1);
@@ -17813,15 +17883,15 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
   } else fra.me.REG[0] = once_value_8;
   fra.me.REG[0] = fra.me.REG[0];
   CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* compiling/compiling_icode.nit:1282 */
+  /* compiling/compiling_icode.nit:1284 */
   CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-  /* compiling/compiling_icode.nit:1283 */
+  /* compiling/compiling_icode.nit:1285 */
   CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-  /* compiling/compiling_icode.nit:1284 */
+  /* compiling/compiling_icode.nit:1286 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
-  /* compiling/compiling_icode.nit:1285 */
+  /* compiling/compiling_icode.nit:1287 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* compiling/compiling_icode.nit:1286 */
+  /* compiling/compiling_icode.nit:1288 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_9) {