bench/lang: add bench_base
[nit.git] / c_src / compiling___compiling_icode._sep.c
index e37c96d..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;
@@ -22,6 +23,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register;
   fra.me.has_broke = 0;
   fra.me.REG_size = 8;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -32,7 +34,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
   fra.me.REG[7] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:35 */
+  /* compiling/compiling_icode.nit:35 */
   fra.me.REG[2] = CALL_icode___icode_base___IRegister___stype(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
   if (UNTAG_Bool(REGB0)) {
@@ -46,20 +48,20 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
     fra.me.REG[2] = fra.me.REG[2];
     goto label2;
   }
-  /* ./compiling//compiling_icode.nit:36 */
+  /* compiling/compiling_icode.nit:36 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode, 36);
   }
   fra.me.REG[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:37 */
+  /* compiling/compiling_icode.nit:37 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     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)) {
@@ -71,33 +73,33 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
     fra.me.REG[4] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra.me.REG[0]);
     fra.me.REG[3] = fra.me.REG[4];
   }
-  /* ./compiling//compiling_icode.nit:38 */
+  /* compiling/compiling_icode.nit:38 */
   REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:39 */
+    /* compiling/compiling_icode.nit:39 */
     fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
     fra.me.REG[2] = fra.me.REG[4];
     goto label2;
   } else {
-    /* ./compiling//compiling_icode.nit:41 */
+    /* compiling/compiling_icode.nit:41 */
     fra.me.REG[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[1])(fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:42 */
+    /* compiling/compiling_icode.nit:42 */
     REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } 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:210 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[4])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:42 */
+        /* compiling/compiling_icode.nit:42 */
         REGB0 = REGB1;
       }
     }
     if (UNTAG_Bool(REGB0)) {
-      /* ./compiling//compiling_icode.nit:44 */
+      /* compiling/compiling_icode.nit:44 */
       if (!once_value_3) {
         fra.me.REG[5] = BOX_NativeString("NIT_NULL");
         REGB0 = TAG_Int(8);
@@ -106,23 +108,23 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
         register_static_object(&once_value_3);
       } else fra.me.REG[5] = once_value_3;
       fra.me.REG[5] = fra.me.REG[5];
-      /* ./compiling//compiling_icode.nit:45 */
+      /* compiling/compiling_icode.nit:45 */
       CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[5]);
-      /* ./compiling//compiling_icode.nit:46 */
+      /* compiling/compiling_icode.nit:46 */
       fra.me.REG[2] = fra.me.REG[5];
       goto label2;
     } else {
-      /* ./compiling//compiling_icode.nit:50 */
+      /* compiling/compiling_icode.nit:50 */
       REGB0 = CALL_analysis___allocate_iregister_slots___IRegister___in_tag_slots(fra.me.REG[1])(fra.me.REG[1]);
       if (UNTAG_Bool(REGB0)) {
-        /* ./compiling//compiling_icode.nit:51 */
+        /* compiling/compiling_icode.nit:51 */
         if (!once_value_4) {
           fra.me.REG[5] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
           once_value_4 = fra.me.REG[5];
           register_static_object(&once_value_4);
         } else fra.me.REG[5] = once_value_4;
         fra.me.REG[5] = fra.me.REG[5];
-        /* ./compiling//compiling_icode.nit:52 */
+        /* compiling/compiling_icode.nit:52 */
         REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
         REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
         if (UNTAG_Bool(REGB0)) {
@@ -152,17 +154,17 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
         }
       } else {
-        /* ./compiling//compiling_icode.nit:53 */
+        /* compiling/compiling_icode.nit:53 */
         REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[0])(fra.me.REG[0]);
         if (UNTAG_Bool(REGB0)) {
           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)) {
-          /* ./compiling//compiling_icode.nit:54 */
+          /* compiling/compiling_icode.nit:54 */
           if (!once_value_7) {
             fra.me.REG[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
             once_value_7 = fra.me.REG[0];
@@ -170,7 +172,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           } else fra.me.REG[0] = once_value_7;
           fra.me.REG[0] = fra.me.REG[0];
           fra.me.REG[5] = fra.me.REG[0];
-          /* ./compiling//compiling_icode.nit:55 */
+          /* compiling/compiling_icode.nit:55 */
           REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
           REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
           if (UNTAG_Bool(REGB0)) {
@@ -200,7 +202,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
             CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[0]);
           }
         } else {
-          /* ./compiling//compiling_icode.nit:57 */
+          /* compiling/compiling_icode.nit:57 */
           if (!once_value_10) {
             fra.me.REG[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
             once_value_10 = fra.me.REG[0];
@@ -208,7 +210,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           } else fra.me.REG[0] = once_value_10;
           fra.me.REG[0] = fra.me.REG[0];
           fra.me.REG[5] = fra.me.REG[0];
-          /* ./compiling//compiling_icode.nit:58 */
+          /* compiling/compiling_icode.nit:58 */
           REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
           REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
           if (UNTAG_Bool(REGB0)) {
@@ -239,11 +241,11 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           }
         }
       }
-      /* ./compiling//compiling_icode.nit:60 */
+      /* compiling/compiling_icode.nit:60 */
       fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
-      /* ./compiling//compiling_icode.nit:61 */
+      /* compiling/compiling_icode.nit:61 */
       CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[4]);
-      /* ./compiling//compiling_icode.nit:62 */
+      /* compiling/compiling_icode.nit:62 */
       fra.me.REG[2] = fra.me.REG[4];
       goto label2;
     }
@@ -252,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;
@@ -262,16 +265,17 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0, val
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:70 */
+  /* compiling/compiling_icode.nit:70 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_compiling___compiling_icode___I2CCompilerVisitor___registers_1));
-  /* ./compiling//compiling_icode.nit:74 */
+  /* compiling/compiling_icode.nit:74 */
   goto label2;
   label2: while(0);
   stack_frame_head = fra.me.prev;
@@ -281,24 +285,26 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0, val
     struct {struct stack_frame_t me;} fra;
     fun_t CREG[1];
     val_t tmp;
-    /* ./compiling//compiling_icode.nit:71 */
+    /* compiling/compiling_icode.nit:71 */
     fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
     fra.me.file = LOCATE_compiling___compiling_icode;
     fra.me.line = 0;
     fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers;
     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.closure_ctx = closctx_param;
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* ./compiling//compiling_icode.nit:72 */
+    /* compiling/compiling_icode.nit:72 */
     fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
     CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
     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;
@@ -310,16 +316,17 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number;
   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:81 */
+  /* 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:218 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-  /* ./compiling//compiling_icode.nit:81 */
+  /* compiling/compiling_icode.nit:81 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra.me.REG[0]) = REGB1;
-  /* ./compiling//compiling_icode.nit:82 */
+  /* compiling/compiling_icode.nit:82 */
   REGB1 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
@@ -331,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;
@@ -343,6 +351,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -350,7 +359,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(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:88 */
+  /* compiling/compiling_icode.nit:88 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -359,7 +368,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
   fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:89 */
+    /* compiling/compiling_icode.nit:89 */
     REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
@@ -369,7 +378,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
     fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
     goto label1;
   } else {
-    /* ./compiling//compiling_icode.nit:91 */
+    /* compiling/compiling_icode.nit:91 */
     REGB0 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_2) {
@@ -394,7 +403,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
     fra.me.REG[4] = fra.me.REG[4];
     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]);
-    /* ./compiling//compiling_icode.nit:92 */
+    /* compiling/compiling_icode.nit:92 */
     REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
@@ -402,7 +411,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0, val_t p1)
     }
     fra.me.REG[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0]);
     CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
-    /* ./compiling//compiling_icode.nit:93 */
+    /* compiling/compiling_icode.nit:93 */
     fra.me.REG[2] = fra.me.REG[3];
     goto label1;
   }
@@ -410,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;
@@ -420,9 +430,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures;
   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:97 */
+  /* compiling/compiling_icode.nit:97 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -432,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;
@@ -442,9 +454,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes;
   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:100 */
+  /* compiling/compiling_icode.nit:100 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -454,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;
@@ -464,9 +478,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels;
   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:103 */
+  /* compiling/compiling_icode.nit:103 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -476,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;
@@ -485,15 +501,17 @@ void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:103 */
+  /* compiling/compiling_icode.nit:103 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra.me.REG[0]) = fra.me.REG[1];
   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;
@@ -504,9 +522,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels;
   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:106 */
+  /* compiling/compiling_icode.nit:106 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -516,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;
@@ -525,15 +545,17 @@ void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:106 */
+  /* compiling/compiling_icode.nit:106 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0]) = fra.me.REG[1];
   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;
@@ -546,12 +568,13 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(v
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:113 */
+  /* compiling/compiling_icode.nit:113 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -560,7 +583,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]);
   REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:114 */
+    /* compiling/compiling_icode.nit:114 */
     REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
@@ -571,18 +594,18 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(v
     REGB0 = fra.me.REG[2];
     goto label1;
   } else {
-    /* ./compiling//compiling_icode.nit:116 */
+    /* compiling/compiling_icode.nit:116 */
     REGB1 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
       nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode, 116);
     }
     fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0]);
-    REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
+    REGB1 = CALL_standard___collection___abstract_collection___MapRead___length(fra.me.REG[2])(fra.me.REG[2]);
     REGB2 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:218 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-    /* ./compiling//compiling_icode.nit:117 */
+    /* compiling/compiling_icode.nit:117 */
     REGB1 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
@@ -590,7 +613,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(v
     }
     fra.me.REG[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra.me.REG[0]);
     CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB2);
-    /* ./compiling//compiling_icode.nit:118 */
+    /* compiling/compiling_icode.nit:118 */
     REGB0 = REGB2;
     goto label1;
   }
@@ -598,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;
@@ -610,13 +634,14 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0, val_
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:125 */
+  /* compiling/compiling_icode.nit:125 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -625,7 +650,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0, val_
   fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:126 */
+    /* compiling/compiling_icode.nit:126 */
     REGB0 = TAG_Int(3);
     fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_1) {
@@ -660,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;
@@ -677,6 +703,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -684,13 +711,13 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:130 */
+  /* compiling/compiling_icode.nit:130 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:133 */
+  /* compiling/compiling_icode.nit:133 */
   fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:134 */
+    /* compiling/compiling_icode.nit:134 */
     REGB0 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_1) {
@@ -716,15 +743,15 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t
     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[2])(fra.me.REG[2], fra.me.REG[3]);
   } else {
-    /* ./compiling//compiling_icode.nit:136 */
+    /* compiling/compiling_icode.nit:136 */
     REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[2])(fra.me.REG[2]);
     if (UNTAG_Bool(REGB0)) {
     } else {
       nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 136);
     }
-    /* ./compiling//compiling_icode.nit:137 */
+    /* compiling/compiling_icode.nit:137 */
     REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:138 */
+    /* compiling/compiling_icode.nit:138 */
     REGB1 = TAG_Int(3);
     fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_3) {
@@ -749,7 +776,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0, val_t
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
     fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
     CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:139 */
+    /* compiling/compiling_icode.nit:139 */
     REGB0 = TAG_Int(3);
     fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_5) {
@@ -784,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;
@@ -794,9 +822,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq;
   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:143 */
+  /* compiling/compiling_icode.nit:143 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -806,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;
@@ -816,9 +846,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure;
   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:146 */
+  /* compiling/compiling_icode.nit:146 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -828,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;
@@ -838,14 +870,16 @@ void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0, va
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq;
   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;
   REGB0 = p1;
-  /* ./compiling//compiling_icode.nit:146 */
+  /* compiling/compiling_icode.nit:146 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra.me.REG[0]) = REGB0;
   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;
@@ -856,9 +890,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor;
   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:149 */
+  /* compiling/compiling_icode.nit:149 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -868,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;
@@ -878,9 +914,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine;
   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:152 */
+  /* compiling/compiling_icode.nit:152 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -890,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;
@@ -899,13 +937,15 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label;
   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:155 */
+  /* compiling/compiling_icode.nit:155 */
   fra.me.REG[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra.me.REG[0]);
   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;
@@ -915,15 +955,17 @@ void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:155 */
+  /* compiling/compiling_icode.nit:155 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra.me.REG[0]) = fra.me.REG[1];
   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;
@@ -933,16 +975,18 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0, val_t
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:160 */
+  /* compiling/compiling_icode.nit:160 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_base___CompilerVisitor___add_decl(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___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;
@@ -957,23 +1001,24 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ./compiling//compiling_icode.nit:167 */
+  /* compiling/compiling_icode.nit:167 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:168 */
+  /* compiling/compiling_icode.nit:168 */
   fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:169 */
+  /* compiling/compiling_icode.nit:169 */
   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);
@@ -982,10 +1027,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:170 */
+    /* compiling/compiling_icode.nit:170 */
     fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
     CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:171 */
+    /* compiling/compiling_icode.nit:171 */
     if (!once_value_1) {
       fra.me.REG[3] = BOX_NativeString("/* ");
       REGB0 = TAG_Int(3);
@@ -994,8 +1039,8 @@ 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]);
-    /* ./compiling//compiling_icode.nit:172 */
+    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)) {
       nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 172);
@@ -1006,8 +1051,8 @@ 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]);
-    /* ./compiling//compiling_icode.nit:173 */
+    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(":");
       REGB0 = TAG_Int(1);
@@ -1016,16 +1061,16 @@ 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]);
-    /* ./compiling//compiling_icode.nit:174 */
+    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)) {
       nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 174);
     }
     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]);
-    /* ./compiling//compiling_icode.nit:175 */
+    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");
       REGB0 = TAG_Int(4);
@@ -1034,19 +1079,20 @@ 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]);
-    /* ./compiling//compiling_icode.nit:176 */
+    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;
   }
-  /* ./compiling//compiling_icode.nit:178 */
+  /* compiling/compiling_icode.nit:178 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:179 */
+  /* compiling/compiling_icode.nit:179 */
   goto label4;
   label4: while(0);
   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;
@@ -1058,13 +1104,14 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0, val_
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:184 */
+  /* 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);
@@ -1073,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;
@@ -1086,14 +1134,16 @@ void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent;
   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:189 */
+  /* compiling/compiling_icode.nit:189 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_base___CompilerVisitor___indent(fra.me.REG[0])(fra.me.REG[0]);
   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;
@@ -1103,14 +1153,16 @@ void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent;
   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:194 */
+  /* compiling/compiling_icode.nit:194 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_base___CompilerVisitor___unindent(fra.me.REG[0])(fra.me.REG[0]);
   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;
@@ -1120,18 +1172,20 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0,
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./compiling//compiling_icode.nit:199 */
+  /* compiling/compiling_icode.nit:199 */
   fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra.me.REG[0])(fra.me.REG[0]);
   CALL_compiling___compiling_base___CompilerVisitor___add_assignment(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
   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;
@@ -1144,6 +1198,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -1151,15 +1206,15 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:209 */
+  /* compiling/compiling_icode.nit:209 */
   fra.me.REG[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:210 */
+  /* compiling/compiling_icode.nit:210 */
   REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
   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], fra.me.REG[1]);
@@ -1167,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);
@@ -1186,15 +1241,15 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
   if (UNTAG_Bool(REGB0)) {
     goto label1;
   }
-  /* ./compiling//compiling_icode.nit:211 */
+  /* compiling/compiling_icode.nit:211 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./compiling//compiling_icode.nit:212 */
+  /* compiling/compiling_icode.nit:212 */
   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);
@@ -1218,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]);
@@ -1226,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)) {
@@ -1243,26 +1298,27 @@ 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:210 */
+      /* ../lib/standard/kernel.nit:230 */
       REGB1 = TAG_Bool((REGB0)==(REGB1));
-      /* ./compiling//compiling_icode.nit:212 */
+      /* compiling/compiling_icode.nit:212 */
       REGB2 = REGB1;
     }
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB2 = REGB1;
   }
   if (UNTAG_Bool(REGB2)) {
-    /* ./compiling//compiling_icode.nit:213 */
+    /* compiling/compiling_icode.nit:213 */
     goto label1;
   } else {
-    /* ./compiling//compiling_icode.nit:215 */
+    /* compiling/compiling_icode.nit:215 */
     ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra.me.REG[0]) = fra.me.REG[1];
   }
   label1: while(0);
   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;
@@ -1273,9 +1329,10 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0){
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname;
   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:219 */
+  /* compiling/compiling_icode.nit:219 */
   REGB0 = TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -1285,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;
@@ -1296,6 +1354,7 @@ void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0, val_t p1,
   fra.me.meth = LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -1304,16 +1363,17 @@ void compiling___compiling_icode___I2CCompilerVisitor___init(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:224 */
+  /* compiling/compiling_icode.nit:224 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./compiling//compiling_icode.nit:225 */
+  /* compiling/compiling_icode.nit:225 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra.me.REG[0]) = fra.me.REG[2];
-  /* ./compiling//compiling_icode.nit:226 */
+  /* compiling/compiling_icode.nit:226 */
   ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra.me.REG[0]) = fra.me.REG[3];
   stack_frame_head = fra.me.prev;
   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;
@@ -1369,6 +1429,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   fra.me.meth = LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c;
   fra.me.has_broke = 0;
   fra.me.REG_size = 12;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -1387,17 +1448,17 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   fra.me.REG[3] = p3;
   fra.me.REG[4] = p4;
   fra.me.REG[5] = p5;
-  /* ./compiling//compiling_icode.nit:237 */
+  /* compiling/compiling_icode.nit:237 */
   fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
-  /* ./compiling//compiling_icode.nit:238 */
+  /* compiling/compiling_icode.nit:238 */
   fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
-  /* ./compiling//compiling_icode.nit:239 */
+  /* compiling/compiling_icode.nit:239 */
   REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } 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);
@@ -1408,24 +1469,24 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   if (UNTAG_Bool(REGB0)) {
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
   }
-  /* ./compiling//compiling_icode.nit:240 */
+  /* compiling/compiling_icode.nit:240 */
   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:335 */
+  /* ../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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* ./compiling//compiling_icode.nit:240 */
+      /* compiling/compiling_icode.nit:240 */
       REGB2 = REGB0;
-      /* ./compiling//compiling_icode.nit:241 */
+      /* compiling/compiling_icode.nit:241 */
       REGB3 = TAG_Int(3);
       fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
       if (!once_value_1) {
@@ -1450,7 +1511,7 @@ 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[6])(fra.me.REG[6], fra.me.REG[4]);
-      /* ./compiling//compiling_icode.nit:242 */
+      /* compiling/compiling_icode.nit:242 */
       REGB3 = TAG_Int(3);
       fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
       if (!once_value_3) {
@@ -1475,26 +1536,26 @@ 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:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label5;
     }
   }
   label5: while(0);
-  /* ./compiling//compiling_icode.nit:244 */
+  /* compiling/compiling_icode.nit:244 */
   fra.me.REG[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } 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);
@@ -1503,7 +1564,7 @@ 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:245 */
+    /* compiling/compiling_icode.nit:245 */
     if (!once_value_6) {
       fra.me.REG[4] = BOX_NativeString("struct stack_frame_t *closctx_param");
       REGB0 = TAG_Int(35);
@@ -1513,7 +1574,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     } else fra.me.REG[4] = once_value_6;
     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]);
-    /* ./compiling//compiling_icode.nit:246 */
+    /* compiling/compiling_icode.nit:246 */
     REGB0 = TAG_Int(0);
     fra.me.REG[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
     REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
@@ -1521,20 +1582,20 @@ 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:335 */
+    /* ../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:215 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:355 */
       if (UNTAG_Bool(REGB2)) {
-        /* ./compiling//compiling_icode.nit:246 */
+        /* compiling/compiling_icode.nit:246 */
         REGB2 = REGB0;
-        /* ./compiling//compiling_icode.nit:247 */
+        /* compiling/compiling_icode.nit:247 */
         REGB3 = TAG_Int(5);
         fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
         if (!once_value_7) {
@@ -1568,7 +1629,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         fra.me.REG[8] = fra.me.REG[8];
         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]);
-        /* ./compiling//compiling_icode.nit:248 */
+        /* compiling/compiling_icode.nit:248 */
         fra.me.REG[8] = CALL_icode___icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
         REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
         if (UNTAG_Bool(REGB3)) {
@@ -1581,9 +1642,9 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         }
         fra.me.REG[8] = CALL_icode___icode_base___IClosureDecl___closure(fra.me.REG[8])(fra.me.REG[8]);
         fra.me.REG[8] = CALL_metamodel___static_type___MMClosure___signature(fra.me.REG[8])(fra.me.REG[8]);
-        /* ./compiling//compiling_icode.nit:249 */
+        /* compiling/compiling_icode.nit:249 */
         fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
-        /* ./compiling//compiling_icode.nit:250 */
+        /* compiling/compiling_icode.nit:250 */
         if (!once_value_10) {
           fra.me.REG[10] = BOX_NativeString("struct stack_frame_t *");
           REGB3 = TAG_Int(22);
@@ -1593,21 +1654,21 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
         } else fra.me.REG[10] = once_value_10;
         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]);
-        /* ./compiling//compiling_icode.nit:251 */
+        /* 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:335 */
+        /* ../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:215 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB5 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
-          /* ./../lib/standard//kernel.nit:335 */
+          /* ../lib/standard/kernel.nit:355 */
           if (UNTAG_Bool(REGB5)) {
-            /* ./compiling//compiling_icode.nit:252 */
+            /* compiling/compiling_icode.nit:252 */
             if (!once_value_11) {
               fra.me.REG[10] = BOX_NativeString("val_t");
               REGB5 = TAG_Int(5);
@@ -1617,19 +1678,19 @@ 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:337 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB5 = TAG_Int(1);
-            /* ./../lib/standard//kernel.nit:218 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
-            /* ./../lib/standard//kernel.nit:337 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB3 = REGB5;
           } else {
-            /* ./../lib/standard//kernel.nit:335 */
+            /* ../lib/standard/kernel.nit:355 */
             goto label12;
           }
         }
         label12: while(0);
-        /* ./compiling//compiling_icode.nit:254 */
+        /* compiling/compiling_icode.nit:254 */
         if (!once_value_13) {
           fra.me.REG[10] = BOX_NativeString("void");
           REGB3 = TAG_Int(4);
@@ -1638,14 +1699,14 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
           register_static_object(&once_value_13);
         } else fra.me.REG[10] = once_value_13;
         fra.me.REG[10] = fra.me.REG[10];
-        /* ./compiling//compiling_icode.nit:255 */
+        /* compiling/compiling_icode.nit:255 */
         fra.me.REG[8] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[8])(fra.me.REG[8]);
         REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
         if (UNTAG_Bool(REGB3)) {
         } 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);
@@ -1664,7 +1725,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
           fra.me.REG[8] = fra.me.REG[8];
           fra.me.REG[10] = fra.me.REG[8];
         }
-        /* ./compiling//compiling_icode.nit:256 */
+        /* compiling/compiling_icode.nit:256 */
         REGB3 = TAG_Int(7);
         fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
         if (!once_value_15) {
@@ -1717,7 +1778,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[4]);
         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:257 */
+        /* compiling/compiling_icode.nit:257 */
         REGB3 = TAG_Int(3);
         fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
         if (!once_value_20) {
@@ -1742,7 +1803,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[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[6])(fra.me.REG[6], fra.me.REG[8]);
-        /* ./compiling//compiling_icode.nit:258 */
+        /* compiling/compiling_icode.nit:258 */
         REGB3 = TAG_Int(3);
         fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
         if (!once_value_22) {
@@ -1767,26 +1828,26 @@ 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:337 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB2 = TAG_Int(1);
-        /* ./../lib/standard//kernel.nit:218 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ./../lib/standard//kernel.nit:337 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB0 = REGB2;
       } else {
-        /* ./../lib/standard//kernel.nit:335 */
+        /* ../lib/standard/kernel.nit:355 */
         goto label24;
       }
     }
     label24: while(0);
   }
-  /* ./compiling//compiling_icode.nit:261 */
+  /* compiling/compiling_icode.nit:261 */
   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);
@@ -1797,7 +1858,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
   if (UNTAG_Bool(REGB0)) {
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
   }
-  /* ./compiling//compiling_icode.nit:262 */
+  /* compiling/compiling_icode.nit:262 */
   if (!once_value_25) {
     fra.me.REG[5] = BOX_NativeString("void");
     REGB0 = TAG_Int(4);
@@ -1806,14 +1867,14 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     register_static_object(&once_value_25);
   } else fra.me.REG[5] = once_value_25;
   fra.me.REG[5] = fra.me.REG[5];
-  /* ./compiling//compiling_icode.nit:263 */
+  /* compiling/compiling_icode.nit:263 */
   fra.me.REG[0] = CALL_icode___icode_base___IRoutine___result(fra.me.REG[0])(fra.me.REG[0]);
   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);
@@ -1832,10 +1893,10 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     fra.me.REG[0] = fra.me.REG[0];
     fra.me.REG[5] = fra.me.REG[0];
   }
-  /* ./compiling//compiling_icode.nit:265 */
+  /* compiling/compiling_icode.nit:265 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:266 */
+    /* compiling/compiling_icode.nit:266 */
     if (!once_value_27) {
       fra.me.REG[0] = BOX_NativeString("void");
       REGB0 = TAG_Int(4);
@@ -1845,7 +1906,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     } else fra.me.REG[0] = once_value_27;
     fra.me.REG[0] = fra.me.REG[0];
   } else {
-    /* ./compiling//compiling_icode.nit:268 */
+    /* compiling/compiling_icode.nit:268 */
     if (!once_value_28) {
       fra.me.REG[8] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -1857,13 +1918,13 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     fra.me.REG[8] = CALL_standard___string___Collection___join(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
     fra.me.REG[0] = fra.me.REG[8];
   }
-  /* ./compiling//compiling_icode.nit:270 */
+  /* compiling/compiling_icode.nit:270 */
   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);
@@ -1872,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);
@@ -1885,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);
@@ -1904,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) {
@@ -1950,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) {
@@ -1994,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) {
@@ -2038,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;
@@ -2068,33 +2131,35 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
   static val_t once_value_11; /* Once value */
   static val_t once_value_12; /* Once value */
   static val_t once_value_13; /* Once value */
-      static val_t once_value_14; /* Once value */
+  static val_t once_value_14; /* Once value */
       static val_t once_value_15; /* Once value */
-      static val_t once_value_17; /* Once value */
+      static val_t once_value_16; /* Once value */
       static val_t once_value_18; /* Once value */
-    static val_t once_value_20; /* Once value */
+      static val_t once_value_19; /* Once value */
     static val_t once_value_21; /* Once value */
     static val_t once_value_22; /* Once value */
     static val_t once_value_23; /* Once value */
-        static val_t once_value_26; /* Once value */
+    static val_t once_value_24; /* Once value */
         static val_t once_value_27; /* Once value */
-        static val_t once_value_29; /* Once value */
+        static val_t once_value_28; /* Once value */
         static val_t once_value_30; /* Once value */
-            static val_t once_value_31; /* Once value */
-        static val_t once_value_33; /* Once value */
-          static val_t once_value_34; /* Once value */
-        static val_t once_value_35; /* Once value */
+        static val_t once_value_31; /* Once value */
+            static val_t once_value_32; /* Once value */
+        static val_t once_value_34; /* Once value */
+          static val_t once_value_35; /* Once value */
         static val_t once_value_36; /* Once value */
         static val_t once_value_37; /* Once value */
         static val_t once_value_38; /* Once value */
-  static val_t once_value_40; /* Once value */
+        static val_t once_value_39; /* Once value */
   static val_t once_value_41; /* Once value */
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -2108,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);
@@ -2126,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*/;
@@ -2143,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:217 */
+  /* ../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) {
@@ -2161,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:220 */
+    /* ../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) {
@@ -2178,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);
@@ -2189,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);
@@ -2199,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) {
@@ -2226,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) {
@@ -2251,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) {
@@ -2276,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);
@@ -2286,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) {
@@ -2312,121 +2377,131 @@ 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:300 */
+  /* 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);
+    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
+    once_value_14 = fra.me.REG[3];
+    register_static_object(&once_value_14);
+  } 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: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:335 */
+  /* ../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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* ./compiling//compiling_icode.nit:300 */
+      /* compiling/compiling_icode.nit:303 */
       REGB2 = REGB0;
-      /* ./compiling//compiling_icode.nit:301 */
+      /* 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_14) {
+      if (!once_value_15) {
         fra.me.REG[4] = BOX_NativeString("fra.me.REG[");
         REGB3 = TAG_Int(11);
         fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB3);
-        once_value_14 = fra.me.REG[4];
-        register_static_object(&once_value_14);
-      } else fra.me.REG[4] = once_value_14;
+        once_value_15 = fra.me.REG[4];
+        register_static_object(&once_value_15);
+      } else fra.me.REG[4] = once_value_15;
       fra.me.REG[4] = fra.me.REG[4];
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
       fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-      if (!once_value_15) {
+      if (!once_value_16) {
         fra.me.REG[4] = BOX_NativeString("] = NIT_NULL;");
         REGB2 = TAG_Int(13);
         fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
-        once_value_15 = fra.me.REG[4];
-        register_static_object(&once_value_15);
-      } else fra.me.REG[4] = once_value_15;
+        once_value_16 = fra.me.REG[4];
+        register_static_object(&once_value_16);
+      } else fra.me.REG[4] = once_value_16;
       fra.me.REG[4] = fra.me.REG[4];
       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:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label16;
+      /* ../lib/standard/kernel.nit:355 */
+      goto label17;
     }
   }
-  label16: while(0);
-  /* ./compiling//compiling_icode.nit:303 */
+  label17: while(0);
+  /* 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:335 */
+  /* ../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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* ./compiling//compiling_icode.nit:303 */
+      /* compiling/compiling_icode.nit:306 */
       REGB2 = REGB0;
-      /* ./compiling//compiling_icode.nit:304 */
+      /* 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_17) {
+      if (!once_value_18) {
         fra.me.REG[4] = BOX_NativeString("val_t REGB");
         REGB3 = TAG_Int(10);
         fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB3);
-        once_value_17 = fra.me.REG[4];
-        register_static_object(&once_value_17);
-      } else fra.me.REG[4] = once_value_17;
+        once_value_18 = fra.me.REG[4];
+        register_static_object(&once_value_18);
+      } else fra.me.REG[4] = once_value_18;
       fra.me.REG[4] = fra.me.REG[4];
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
       fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-      if (!once_value_18) {
+      if (!once_value_19) {
         fra.me.REG[4] = BOX_NativeString(";");
         REGB2 = TAG_Int(1);
         fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
-        once_value_18 = fra.me.REG[4];
-        register_static_object(&once_value_18);
-      } else fra.me.REG[4] = once_value_18;
+        once_value_19 = fra.me.REG[4];
+        register_static_object(&once_value_19);
+      } else fra.me.REG[4] = once_value_19;
       fra.me.REG[4] = fra.me.REG[4];
       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:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label19;
+      /* ../lib/standard/kernel.nit:355 */
+      goto label20;
     }
   }
-  label19: while(0);
-  /* ./compiling//compiling_icode.nit:306 */
+  label20: while(0);
+  /* 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:307 */
+  /* 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);
@@ -2435,70 +2510,70 @@ 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:308 */
+    /* 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_20) {
+    if (!once_value_21) {
       fra.me.REG[5] = BOX_NativeString("fun_t CREG[");
       REGB0 = TAG_Int(11);
       fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
-      once_value_20 = fra.me.REG[5];
-      register_static_object(&once_value_20);
-    } else fra.me.REG[5] = once_value_20;
+      once_value_21 = fra.me.REG[5];
+      register_static_object(&once_value_21);
+    } else fra.me.REG[5] = once_value_21;
     fra.me.REG[5] = fra.me.REG[5];
     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, 308);
+      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);
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-    if (!once_value_21) {
+    if (!once_value_22) {
       fra.me.REG[5] = BOX_NativeString("];");
       REGB0 = TAG_Int(2);
       fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
-      once_value_21 = fra.me.REG[5];
-      register_static_object(&once_value_21);
-    } else fra.me.REG[5] = once_value_21;
+      once_value_22 = fra.me.REG[5];
+      register_static_object(&once_value_22);
+    } else fra.me.REG[5] = once_value_22;
     fra.me.REG[5] = fra.me.REG[5];
     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:309 */
-    if (!once_value_22) {
+    /* 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);
       fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
-      once_value_22 = fra.me.REG[4];
-      register_static_object(&once_value_22);
-    } else fra.me.REG[4] = once_value_22;
+      once_value_23 = fra.me.REG[4];
+      register_static_object(&once_value_23);
+    } 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:310 */
-    if (!once_value_23) {
+    /* compiling/compiling_icode.nit:313 */
+    if (!once_value_24) {
       fra.me.REG[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
       REGB0 = TAG_Int(27);
       fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
-      once_value_23 = fra.me.REG[4];
-      register_static_object(&once_value_23);
-    } else fra.me.REG[4] = once_value_23;
+      once_value_24 = fra.me.REG[4];
+      register_static_object(&once_value_24);
+    } else fra.me.REG[4] = once_value_24;
     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:312 */
+  /* compiling/compiling_icode.nit:315 */
   REGB0 = TAG_Int(0);
   fra.me.REG[4] = REGB0;
-  /* ./compiling//compiling_icode.nit:313 */
+  /* 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_24));
-  /* ./compiling//compiling_icode.nit:317 */
+  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: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);
@@ -2507,76 +2582,76 @@ 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:318 */
+    /* 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, 318);
+      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:335 */
+    /* ../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:215 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:355 */
       if (UNTAG_Bool(REGB2)) {
-        /* ./compiling//compiling_icode.nit:318 */
+        /* compiling/compiling_icode.nit:321 */
         REGB2 = REGB0;
-        /* ./compiling//compiling_icode.nit:319 */
+        /* 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, 319);
+          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:320 */
+        /* 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_26) {
+        if (!once_value_27) {
           fra.me.REG[6] = BOX_NativeString("CREG[");
           REGB3 = TAG_Int(5);
           fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
-          once_value_26 = fra.me.REG[6];
-          register_static_object(&once_value_26);
-        } else fra.me.REG[6] = once_value_26;
+          once_value_27 = fra.me.REG[6];
+          register_static_object(&once_value_27);
+        } else fra.me.REG[6] = once_value_27;
         fra.me.REG[6] = fra.me.REG[6];
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
         fra.me.REG[6] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-        if (!once_value_27) {
+        if (!once_value_28) {
           fra.me.REG[6] = BOX_NativeString("] = ");
           REGB3 = TAG_Int(4);
           fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
-          once_value_27 = fra.me.REG[6];
-          register_static_object(&once_value_27);
-        } else fra.me.REG[6] = once_value_27;
+          once_value_28 = fra.me.REG[6];
+          register_static_object(&once_value_28);
+        } else fra.me.REG[6] = once_value_28;
         fra.me.REG[6] = fra.me.REG[6];
         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:218 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB3 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB2));
-        /* ./../lib/standard//collection//array.nit:241 */
+        /* ../lib/standard/collection/array.nit:278 */
         fra.me.REG[6] = fra.me.REG[2];
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB4 = TAG_Int(0);
         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:216 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB4 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB4));
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB4)) {
           REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6])!=NIT_NULL);
           if (UNTAG_Bool(REGB4)) {
           } else {
-            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
           }
           REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6]);
           REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
@@ -2584,114 +2659,114 @@ 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:215 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
-          REGB5 = TAG_Bool(false);
+          /* ../lib/standard/collection/array.nit:280 */
+          REGB5 = TAG_Bool(0);
           REGB4 = REGB5;
         }
         if (UNTAG_Bool(REGB4)) {
         } else {
-          nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+          nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
         }
-        /* ./../lib/standard//collection//array.nit:244 */
+        /* ../lib/standard/collection/array.nit:281 */
         fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[6]);
         REGB4 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
         if (UNTAG_Bool(REGB4)) {
-          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
         }
-        /* ./../lib/standard//collection//array.nit:652 */
+        /* ../lib/standard/collection/array.nit:718 */
         fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB3)];
-        /* ./../lib/standard//collection//array.nit:244 */
-        goto label28;
-        label28: while(0);
-        /* ./compiling//compiling_icode.nit:320 */
+        /* ../lib/standard/collection/array.nit:281 */
+        goto label29;
+        label29: while(0);
+        /* 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_29) {
+        if (!once_value_30) {
           fra.me.REG[6] = BOX_NativeString(";");
           REGB3 = TAG_Int(1);
           fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
-          once_value_29 = fra.me.REG[6];
-          register_static_object(&once_value_29);
-        } else fra.me.REG[6] = once_value_29;
+          once_value_30 = fra.me.REG[6];
+          register_static_object(&once_value_30);
+        } else fra.me.REG[6] = once_value_30;
         fra.me.REG[6] = fra.me.REG[6];
         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:321 */
+        /* 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:322 */
+        /* 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:323 */
+        /* compiling/compiling_icode.nit:326 */
         fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
-        /* ./compiling//compiling_icode.nit:324 */
-        if (!once_value_30) {
+        /* compiling/compiling_icode.nit:327 */
+        if (!once_value_31) {
           fra.me.REG[7] = BOX_NativeString("struct stack_frame_t *");
           REGB2 = TAG_Int(22);
           fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
-          once_value_30 = fra.me.REG[7];
-          register_static_object(&once_value_30);
-        } else fra.me.REG[7] = once_value_30;
+          once_value_31 = fra.me.REG[7];
+          register_static_object(&once_value_31);
+        } 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:325 */
+        /* 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:335 */
+        /* ../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:215 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
-          /* ./../lib/standard//kernel.nit:335 */
+          /* ../lib/standard/kernel.nit:355 */
           if (UNTAG_Bool(REGB4)) {
-            /* ./compiling//compiling_icode.nit:326 */
-            if (!once_value_31) {
+            /* compiling/compiling_icode.nit:329 */
+            if (!once_value_32) {
               fra.me.REG[7] = BOX_NativeString("val_t");
               REGB4 = TAG_Int(5);
               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB4);
-              once_value_31 = fra.me.REG[7];
-              register_static_object(&once_value_31);
-            } else fra.me.REG[7] = once_value_31;
+              once_value_32 = fra.me.REG[7];
+              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:327 */
+            /* 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:337 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB4 = TAG_Int(1);
-            /* ./../lib/standard//kernel.nit:218 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB4 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
-            /* ./../lib/standard//kernel.nit:337 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB2 = REGB4;
           } else {
-            /* ./../lib/standard//kernel.nit:335 */
-            goto label32;
+            /* ../lib/standard/kernel.nit:355 */
+            goto label33;
           }
         }
-        label32: while(0);
-        /* ./compiling//compiling_icode.nit:329 */
-        if (!once_value_33) {
+        label33: while(0);
+        /* compiling/compiling_icode.nit:332 */
+        if (!once_value_34) {
           fra.me.REG[7] = BOX_NativeString("void");
           REGB2 = TAG_Int(4);
           fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
-          once_value_33 = fra.me.REG[7];
-          register_static_object(&once_value_33);
-        } else fra.me.REG[7] = once_value_33;
+          once_value_34 = fra.me.REG[7];
+          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:330 */
+        /* 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);
@@ -2700,112 +2775,112 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         }
         REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
         if (UNTAG_Bool(REGB2)) {
-          if (!once_value_34) {
+          if (!once_value_35) {
             fra.me.REG[6] = BOX_NativeString("val_t");
             REGB2 = TAG_Int(5);
             fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB2);
-            once_value_34 = fra.me.REG[6];
-            register_static_object(&once_value_34);
-          } else fra.me.REG[6] = once_value_34;
+            once_value_35 = fra.me.REG[6];
+            register_static_object(&once_value_35);
+          } else fra.me.REG[6] = once_value_35;
           fra.me.REG[6] = fra.me.REG[6];
           fra.me.REG[7] = fra.me.REG[6];
         }
-        /* ./compiling//compiling_icode.nit:331 */
+        /* 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);
-        if (!once_value_35) {
+        if (!once_value_36) {
           fra.me.REG[9] = BOX_NativeString("");
           REGB2 = TAG_Int(0);
           fra.me.REG[9] = NEW_String_standard___string___String___with_native(fra.me.REG[9], REGB2);
-          once_value_35 = fra.me.REG[9];
-          register_static_object(&once_value_35);
-        } else fra.me.REG[9] = once_value_35;
+          once_value_36 = fra.me.REG[9];
+          register_static_object(&once_value_36);
+        } else fra.me.REG[9] = once_value_36;
         fra.me.REG[9] = fra.me.REG[9];
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
-        if (!once_value_36) {
+        if (!once_value_37) {
           fra.me.REG[7] = BOX_NativeString(" (*)(");
           REGB2 = TAG_Int(5);
           fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
-          once_value_36 = fra.me.REG[7];
-          register_static_object(&once_value_36);
-        } else fra.me.REG[7] = once_value_36;
+          once_value_37 = fra.me.REG[7];
+          register_static_object(&once_value_37);
+        } else fra.me.REG[7] = once_value_37;
         fra.me.REG[7] = fra.me.REG[7];
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
-        if (!once_value_37) {
+        if (!once_value_38) {
           fra.me.REG[7] = BOX_NativeString(", ");
           REGB2 = TAG_Int(2);
           fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
-          once_value_37 = fra.me.REG[7];
-          register_static_object(&once_value_37);
-        } else fra.me.REG[7] = once_value_37;
+          once_value_38 = fra.me.REG[7];
+          register_static_object(&once_value_38);
+        } else fra.me.REG[7] = once_value_38;
         fra.me.REG[7] = fra.me.REG[7];
         fra.me.REG[7] = CALL_standard___string___Collection___join(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[7]);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
-        if (!once_value_38) {
+        if (!once_value_39) {
           fra.me.REG[7] = BOX_NativeString(")");
           REGB2 = TAG_Int(1);
           fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
-          once_value_38 = fra.me.REG[7];
-          register_static_object(&once_value_38);
-        } else fra.me.REG[7] = once_value_38;
+          once_value_39 = fra.me.REG[7];
+          register_static_object(&once_value_39);
+        } else fra.me.REG[7] = once_value_39;
         fra.me.REG[7] = fra.me.REG[7];
         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:337 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB2 = TAG_Int(1);
-        /* ./../lib/standard//kernel.nit:218 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ./../lib/standard//kernel.nit:337 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB0 = REGB2;
       } else {
-        /* ./../lib/standard//kernel.nit:335 */
-        goto label39;
+        /* ../lib/standard/kernel.nit:355 */
+        goto label40;
       }
     }
-    label39: while(0);
+    label40: while(0);
   }
-  /* ./compiling//compiling_icode.nit:334 */
-  if (!once_value_40) {
+  /* compiling/compiling_icode.nit:337 */
+  if (!once_value_41) {
     fra.me.REG[2] = BOX_NativeString("val_t tmp;");
     REGB0 = TAG_Int(10);
     fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
-    once_value_40 = fra.me.REG[2];
-    register_static_object(&once_value_40);
-  } else fra.me.REG[2] = once_value_40;
+    once_value_41 = fra.me.REG[2];
+    register_static_object(&once_value_41);
+  } 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:337 */
+  /* 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:338 */
+  /* 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:341 */
+  /* 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:343 */
-  if (!once_value_41) {
+  /* 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);
     fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
-    once_value_41 = fra.me.REG[3];
-    register_static_object(&once_value_41);
-  } else fra.me.REG[3] = once_value_41;
+    once_value_42 = fra.me.REG[3];
+    register_static_object(&once_value_42);
+  } 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:344 */
+  /* 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:345 */
+  /* 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:346 */
+  /* 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);
@@ -2814,19 +2889,19 @@ 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:347 */
+    /* 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 label42;
+    goto label43;
   } else {
-    /* ./compiling//compiling_icode.nit:349 */
+    /* compiling/compiling_icode.nit:352 */
     fra.me.REG[0] = NIT_NULL;
-    goto label42;
+    goto label43;
   }
-  label42: while(0);
+  label43: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
-  void OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_24(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
+  void OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_25(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
     struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
     val_t REGB0;
     val_t REGB1;
@@ -2839,49 +2914,50 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     fra.me.meth = LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c;
     fra.me.has_broke = 0;
     fra.me.REG_size = 2;
+    fra.me.nitni_local_ref_head = NULL;
     fra.me.REG[0] = NIT_NULL;
     fra.me.REG[1] = NIT_NULL;
     fra.me.closure_ctx = closctx_param;
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* ./compiling//compiling_icode.nit:314 */
+    /* 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:210 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[1])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:314 */
+        /* compiling/compiling_icode.nit:317 */
         REGB0 = REGB1;
       }
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
       fra.me.REG[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
-      /* ./../lib/standard//collection//array.nit:241 */
+      /* ../lib/standard/collection/array.nit:278 */
       fra.me.REG[1] = closctx->REG[2];
       REGB0 = closctx->REG[4];
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       REGB1 = TAG_Int(0);
       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:216 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB1)) {
         REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
         if (UNTAG_Bool(REGB1)) {
         } else {
-          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
         }
         REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
         REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
@@ -2889,49 +2965,51 @@ 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:215 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
-        REGB2 = TAG_Bool(false);
+        /* ../lib/standard/collection/array.nit:280 */
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
       } else {
-        nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+        nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
       }
-      /* ./../lib/standard//collection//array.nit:244 */
+      /* ../lib/standard/collection/array.nit:281 */
       fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
       REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ./../lib/standard//collection//array.nit:652 */
+      /* ../lib/standard/collection/array.nit:718 */
       fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
-      /* ./../lib/standard//collection//array.nit:244 */
-      goto label25;
-      label25: while(0);
-      /* ./compiling//compiling_icode.nit:314 */
+      /* ../lib/standard/collection/array.nit:281 */
+      goto label26;
+      label26: while(0);
+      /* 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:315 */
+    /* compiling/compiling_icode.nit:318 */
     REGB0 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:218 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB0 = TAG_Int(UNTAG_Int(closctx->REG[4])+UNTAG_Int(REGB0));
-    /* ./compiling//compiling_icode.nit:315 */
+    /* 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 = 353;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -2940,29 +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:357 */
+  /* 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:358 */
+  /* 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 = 363;
+  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;
-  /* ./compiling//compiling_icode.nit:363 */
-  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 363);
+  fra.me.nitni_local_ref_head = NULL;
+  /* 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;
@@ -2970,21 +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 = 366;
+  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:369 */
+  /* 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:370 */
+  /* 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);
@@ -2995,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, 370);
+      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);
@@ -3003,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:210 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[0])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:370 */
+        /* 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;
@@ -3022,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;
@@ -3032,10 +3115,11 @@ 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 = 373;
+  fra.me.line = 376;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___store_result;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -3044,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:376 */
+  /* 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:377 */
+  /* 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);
@@ -3063,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, 377);
+      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);
@@ -3071,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:210 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[4])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:377 */
+        /* 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:378 */
+    /* 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);
@@ -3102,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, 378);
+      nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 381);
     }
-    /* ./compiling//compiling_icode.nit:379 */
+    /* 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:380 */
+    /* 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:381 */
+    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);
@@ -3118,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:382 */
-    CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:383 */
+    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);
@@ -3130,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:384 */
+    /* 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);
@@ -3150,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:387 */
+      /* 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:388 */
-      CALL_compiling___compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-      /* ./compiling//compiling_icode.nit:389 */
+      /* 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);
@@ -3167,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;
@@ -3182,20 +3267,21 @@ 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 = 393;
+  fra.me.line = 396;
   fra.me.meth = LOCATE_compiling___compiling_icode___ICode___new_result;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:397 */
+  /* 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));
@@ -3203,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, 397);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 400);
   }
-  /* ./compiling//compiling_icode.nit:398 */
+  /* 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:399 */
+  /* 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:400 */
+  /* 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);
@@ -3226,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, 400);
+      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);
@@ -3234,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:210 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:400 */
+        /* 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:401 */
+    /* 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:402 */
+    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);
@@ -3261,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:404 */
-  fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:405 */
+  /* 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);
@@ -3274,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:406 */
+  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;
@@ -3288,31 +3375,32 @@ 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 = 411;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:413 */
+  /* 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:414 */
+  /* 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:415 */
+  /* 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:416 */
+  /* 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);
@@ -3324,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:417 */
+  /* 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:420 */
+  /* 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;
@@ -3342,16 +3430,18 @@ void compiling___compiling_icode___ISeq___compile_to_c(val_t p0, val_t p1){
     fra.me.meth = LOCATE_compiling___compiling_icode___ISeq___compile_to_c;
     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.closure_ctx = closctx_param;
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* ./compiling//compiling_icode.nit:418 */
+    /* 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;
@@ -3362,22 +3452,23 @@ 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 = 425;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:427 */
+  /* 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:428 */
+  /* 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:429 */
+  /* compiling/compiling_icode.nit:432 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("if (UNTAG_Bool(");
     REGB0 = TAG_Int(15);
@@ -3386,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:430 */
+  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:431 */
+  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);
@@ -3400,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:432 */
+  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:433 */
+    /* compiling/compiling_icode.nit:436 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:434 */
+    /* 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:435 */
+    /* compiling/compiling_icode.nit:438 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* ./compiling//compiling_icode.nit:437 */
+  /* 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:438 */
+    /* compiling/compiling_icode.nit:441 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("} else {");
       REGB0 = TAG_Int(8);
@@ -3431,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:439 */
+    /* compiling/compiling_icode.nit:442 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:440 */
+    /* 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:441 */
+    /* compiling/compiling_icode.nit:444 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* ./compiling//compiling_icode.nit:443 */
+  /* compiling/compiling_icode.nit:446 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3452,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;
@@ -3461,31 +3553,32 @@ 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 = 448;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:450 */
+  /* 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:451 */
+  /* 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:452 */
+  /* 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:453 */
+  /* 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);
@@ -3497,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:454 */
+  /* compiling/compiling_icode.nit:457 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("while(1) {");
     REGB0 = TAG_Int(10);
@@ -3507,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:455 */
+  /* compiling/compiling_icode.nit:458 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:456 */
+  /* 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:459 */
+  /* compiling/compiling_icode.nit:462 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:460 */
+  /* compiling/compiling_icode.nit:463 */
   if (!once_value_3) {
     fra.me.REG[2] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3524,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:461 */
+  /* 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;
@@ -3539,34 +3632,37 @@ void compiling___compiling_icode___ILoop___compile_to_c(val_t p0, val_t p1){
     fra.me.meth = LOCATE_compiling___compiling_icode___ILoop___compile_to_c;
     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.closure_ctx = closctx_param;
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* ./compiling//compiling_icode.nit:457 */
+    /* 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 = 466;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:468 */
+  /* 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:469 */
+  /* 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]);
@@ -3574,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;
@@ -3598,10 +3695,11 @@ 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 = 474;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -3614,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:474 */
+  /* compiling/compiling_icode.nit:477 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:476 */
+  /* 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:477 */
+  /* 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:480 */
+  /* 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:481 */
+  /* 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:482 */
+  /* compiling/compiling_icode.nit:485 */
   fra.me.REG[6] = NIT_NULL;
-  /* ./compiling//compiling_icode.nit:483 */
+  /* 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);
@@ -3643,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:485 */
+    /* 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:486 */
+      /* compiling/compiling_icode.nit:489 */
       if (!once_value_1) {
         fra.me.REG[7] = BOX_NativeString("closctx");
         REGB0 = TAG_Int(7);
@@ -3657,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:488 */
+      /* compiling/compiling_icode.nit:491 */
       if (!once_value_2) {
         fra.me.REG[7] = BOX_NativeString("(&(fra.me))");
         REGB0 = TAG_Int(11);
@@ -3668,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:492 */
+    /* 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:495 */
+    /* 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:498 */
+    /* 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, 498);
+      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:509 */
+  /* 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:510 */
+  /* compiling/compiling_icode.nit:513 */
   fra.me.REG[5] = fra.me.REG[3];
-  /* ./compiling//compiling_icode.nit:513 */
+  /* 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);
@@ -3699,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:514 */
+    /* 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:515 */
+    /* 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:517 */
-    REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
+    /* 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:519 */
+      /* 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:520 */
+      /* 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:521 */
+        /* compiling/compiling_icode.nit:524 */
         if (!once_value_5) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3721,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:522 */
+        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);
@@ -3731,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:523 */
-        CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-        /* ./compiling//compiling_icode.nit:524 */
+        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);
@@ -3743,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:525 */
-        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:526 */
+        /* compiling/compiling_icode.nit:529 */
         if (!once_value_8) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3758,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, 526);
+          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:528 */
+        /* compiling/compiling_icode.nit:531 */
         fra.me.REG[5] = NIT_NULL;
-        /* ./compiling//compiling_icode.nit:529 */
-        CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-        /* ./compiling//compiling_icode.nit:530 */
+        /* 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);
@@ -3775,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:533 */
+      /* 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 (");
@@ -3787,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);
@@ -3797,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:534 */
+      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:536 */
+      /* compiling/compiling_icode.nit:539 */
       if (!once_value_12) {
         fra.me.REG[3] = BOX_NativeString("case 0: break;");
         REGB0 = TAG_Int(14);
@@ -3810,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:537 */
+      /* compiling/compiling_icode.nit:540 */
       fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra.me.REG[1])(fra.me.REG[1]);
-      /* ./compiling//compiling_icode.nit:538 */
-      fra.me.REG[7] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]);
-      /* ./compiling//compiling_icode.nit:539 */
-      REGB0 = TAG_Bool(false);
-      /* ./compiling//compiling_icode.nit:540 */
+      /* 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___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
+        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:541 */
+          /* 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:542 */
+          /* 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:545 */
+            /* 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 ");
@@ -3835,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[8] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]);
+            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, 545);
+              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);
@@ -3851,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);
@@ -3861,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);
@@ -3872,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:548 */
+            /* 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, 548);
+              nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 551);
             }
-            /* ./compiling//compiling_icode.nit:549 */
+            /* 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:550 */
-            REGB1 = TAG_Bool(true);
+            /* compiling/compiling_icode.nit:553 */
+            REGB1 = TAG_Bool(1);
             REGB0 = REGB1;
           }
-          /* ./compiling//compiling_icode.nit:552 */
-          CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]);
+          /* 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:540 */
+          /* compiling/compiling_icode.nit:543 */
           goto label17;
         }
       }
       label17: while(0);
-      /* ./compiling//compiling_icode.nit:555 */
+      /* compiling/compiling_icode.nit:558 */
       if (UNTAG_Bool(REGB0)) {
-        /* ./compiling//compiling_icode.nit:558 */
+        /* 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 ");
@@ -3906,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, 558);
+          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);
@@ -3923,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:560 */
+      /* compiling/compiling_icode.nit:563 */
       CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-      /* ./compiling//compiling_icode.nit:561 */
+      /* compiling/compiling_icode.nit:564 */
       if (!once_value_20) {
         fra.me.REG[6] = BOX_NativeString("}");
         REGB0 = TAG_Int(1);
@@ -3939,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:565 */
+  /* 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);
@@ -3954,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:566 */
+    /* 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:567 */
-    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;
@@ -3975,18 +4073,19 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       fra.me.meth = LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c;
       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.closure_ctx = closctx_param;
       fra.me.closure_funs = CREG;
       fra.me.REG[0] = p0;
       CREG[0] = clos_fun0;
-      /* ./compiling//compiling_icode.nit:499 */
+      /* 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);
@@ -3995,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:500 */
+        /* 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, 500);
+          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:501 */
+        /* 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:503 */
+        /* compiling/compiling_icode.nit:506 */
         if (!once_value_4) {
           fra.me.REG[0] = BOX_NativeString("NULL");
           REGB0 = TAG_Int(4);
@@ -4018,295 +4117,328 @@ 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 = 571;
+  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;
-  /* ./compiling//compiling_icode.nit:571 */
-  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 571);
+  fra.me.nitni_local_ref_head = NULL;
+  /* 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[3];} fra;
+  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
   val_t tmp;
-    static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
+    static val_t once_value_2; /* Once value */
   static val_t once_value_3; /* Once value */
   static val_t once_value_4; /* Once value */
   static val_t once_value_5; /* Once value */
+  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 = 576;
+  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 = 4;
+  fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
+  fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./compiling//compiling_icode.nit:578 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:579 */
+  /* 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:587 */
   fra.me.REG[0] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:580 */
-  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]);
+  /* 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)) {
-    if (!once_value_1) {
-      fra.me.REG[3] = BOX_NativeString("init_table");
+    if (!once_value_2) {
+      fra.me.REG[4] = BOX_NativeString("init_table");
       REGB0 = TAG_Int(10);
-      fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
-      once_value_1 = fra.me.REG[3];
-      register_static_object(&once_value_1);
-    } else fra.me.REG[3] = once_value_1;
-    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]);
+      fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
+      once_value_2 = fra.me.REG[4];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[4] = once_value_2;
+    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:581 */
+  /* 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:582 */
-  if (!once_value_2) {
+  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);
     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]);
-  /* ./compiling//compiling_icode.nit:583 */
-  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:584 */
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")(");
-    REGB0 = TAG_Int(2);
-    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]);
-  /* ./compiling//compiling_icode.nit:585 */
+  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_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(", ");
+    fra.me.REG[0] = BOX_NativeString(")(");
     REGB0 = TAG_Int(2);
     fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_4 = fra.me.REG[0];
     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_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:586 */
+  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(1);
+    fra.me.REG[0] = BOX_NativeString(", ");
+    REGB0 = TAG_Int(2);
     fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_5 = fra.me.REG[0];
     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(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:587 */
-  goto label6;
-  label6: while(0);
+  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);
+    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
+    once_value_6 = fra.me.REG[0];
+    register_static_object(&once_value_6);
+  } else fra.me.REG[0] = once_value_6;
+  fra.me.REG[0] = 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:595 */
+  fra.me.REG[3] = fra.me.REG[1];
+  goto label1;
+  label1: while(0);
   stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
+  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[2];} fra;
+  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
   val_t tmp;
-    static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
+    static val_t once_value_2; /* Once value */
   static val_t once_value_3; /* Once value */
   static val_t once_value_4; /* Once value */
   static val_t once_value_5; /* Once value */
+  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 = 592;
+  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 = 3;
+  fra.me.REG_size = 4;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./compiling//compiling_icode.nit:594 */
+  /* 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_writer___Writer___init();
+    goto label1;
+  }
+  /* 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:595 */
-  fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[1])(fra.me.REG[1]);
+  /* 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)) {
-    if (!once_value_1) {
-      fra.me.REG[1] = BOX_NativeString("init_table");
+    if (!once_value_2) {
+      fra.me.REG[3] = BOX_NativeString("init_table");
       REGB0 = TAG_Int(10);
-      fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
-      once_value_1 = fra.me.REG[1];
-      register_static_object(&once_value_1);
-    } else fra.me.REG[1] = once_value_1;
-    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]);
+      fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
+      once_value_2 = fra.me.REG[3];
+      register_static_object(&once_value_2);
+    } else fra.me.REG[3] = once_value_2;
+    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:596 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:597 */
+  /* 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___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:598 */
-  if (!once_value_2) {
+  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);
     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]);
-  /* ./compiling//compiling_icode.nit:599 */
-  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:600 */
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")(");
-    REGB0 = TAG_Int(2);
-    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]);
-  /* ./compiling//compiling_icode.nit:601 */
+  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_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(", ");
+    fra.me.REG[0] = BOX_NativeString(")(");
     REGB0 = TAG_Int(2);
     fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_4 = fra.me.REG[0];
     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_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:602 */
+  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(1);
+    fra.me.REG[0] = BOX_NativeString(", ");
+    REGB0 = TAG_Int(2);
     fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_5 = fra.me.REG[0];
     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(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:603 */
-  goto label6;
-  label6: while(0);
+  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);
+    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
+    once_value_6 = fra.me.REG[0];
+    register_static_object(&once_value_6);
+  } else fra.me.REG[0] = once_value_6;
+  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: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[3];} fra;
+  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
   val_t tmp;
-  static val_t once_value_1; /* Once value */
   static val_t once_value_2; /* Once value */
   static val_t once_value_3; /* Once value */
   static val_t once_value_4; /* Once value */
   static val_t once_value_5; /* Once value */
+  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 = 608;
+  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 = 4;
+  fra.me.REG_size = 5;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
+  fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./compiling//compiling_icode.nit:610 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:611 */
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("NEW_");
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    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]);
-  /* ./compiling//compiling_icode.nit:612 */
-  fra.me.REG[3] = CALL_icode___icode_base___INew___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_standard___string___Object___to_s(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]);
-  /* ./compiling//compiling_icode.nit:613 */
+  /* 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:628 */
   if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("_");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
+    fra.me.REG[4] = BOX_NativeString("NEW_");
+    REGB0 = TAG_Int(4);
+    fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
+    once_value_2 = fra.me.REG[4];
     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]);
-  /* ./compiling//compiling_icode.nit:614 */
+  } else fra.me.REG[4] = once_value_2;
+  fra.me.REG[4] = fra.me.REG[4];
+  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_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);
+    fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
+    once_value_3 = fra.me.REG[4];
+    register_static_object(&once_value_3);
+  } else fra.me.REG[4] = once_value_3;
+  fra.me.REG[4] = fra.me.REG[4];
+  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:615 */
-  if (!once_value_3) {
+  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);
     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]);
-  /* ./compiling//compiling_icode.nit:616 */
-  if (!once_value_4) {
-    fra.me.REG[0] = BOX_NativeString(", ");
-    REGB0 = TAG_Int(2);
-    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_4 = fra.me.REG[0];
     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_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:617 */
+  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(1);
+    fra.me.REG[0] = BOX_NativeString(", ");
+    REGB0 = TAG_Int(2);
     fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
     once_value_5 = fra.me.REG[0];
     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(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:618 */
-  goto label6;
-  label6: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
+  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);
+    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
+    once_value_6 = fra.me.REG[0];
+    register_static_object(&once_value_6);
+  } else fra.me.REG[0] = once_value_6;
+  fra.me.REG[0] = 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: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;
@@ -4315,21 +4447,22 @@ 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 = 623;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:625 */
+  /* 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:626 */
+  /* 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:627 */
+  /* compiling/compiling_icode.nit:644 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("NEW_");
     REGB0 = TAG_Int(4);
@@ -4338,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:628 */
+  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:629 */
+  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);
@@ -4353,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;
@@ -4366,22 +4500,23 @@ 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 = 634;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:636 */
+  /* 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:637 */
+  /* 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:638 */
+  /* compiling/compiling_icode.nit:655 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("CHECKNEW_");
     REGB0 = TAG_Int(9);
@@ -4390,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:639 */
+  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:640 */
+  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);
@@ -4405,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:641 */
+  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:642 */
+  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);
@@ -4419,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;
@@ -4432,22 +4568,23 @@ 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 = 647;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:649 */
+  /* 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:650 */
+  /* 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:651 */
+  /* compiling/compiling_icode.nit:668 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("INIT_ATTRIBUTES__");
     REGB0 = TAG_Int(17);
@@ -4456,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:652 */
+  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:653 */
+  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);
@@ -4471,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:654 */
+  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:655 */
+  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);
@@ -4485,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;
@@ -4499,19 +4637,20 @@ 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 = 660;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* ./compiling//compiling_icode.nit:662 */
+  /* 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:663 */
+  /* 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)) {
@@ -4525,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:664 */
-  fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:665 */
+  /* 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:666 */
+  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);
@@ -4540,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:667 */
+  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);
@@ -4550,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:668 */
+  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);
@@ -4560,62 +4699,75 @@ 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:669 */
+  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 = 674;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:676 */
+  /* 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:677 */
+  /* 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:678 */
+    /* 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:680 */
-    CALL_compiling___compiling_icode___INative___compile_extern_method_to_c(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+    /* 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: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[7];} fra;
+  struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
   val_t REGB1;
   val_t REGB2;
   val_t REGB3;
   val_t REGB4;
   val_t tmp;
-  static val_t once_value_4; /* Once value */
-  static val_t once_value_5; /* Once value */
+  static val_t once_value_1; /* Once value */
+  static val_t once_value_2; /* Once value */
   static val_t once_value_6; /* Once value */
   static val_t once_value_7; /* Once value */
+  static val_t once_value_8; /* Once value */
+  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 = 684;
+  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 = 8;
+  fra.me.REG_size = 7;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -4623,261 +4775,255 @@ void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[6] = NIT_NULL;
-  fra.me.REG[7] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:684 */
-  fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:686 */
-  fra.me.REG[3] = CALL_icode___icode_base___INative___method(fra.me.REG[2])(fra.me.REG[2]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMMethod___extern_name(fra.me.REG[3])(fra.me.REG[3]);
-  REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___string___String, ID_standard___string___String)) /*cast String*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 686);
-  }
-  /* ./compiling//compiling_icode.nit:687 */
-  fra.me.REG[0] = CALL_icode___icode_base___INative___method(fra.me.REG[2])(fra.me.REG[2]);
-  fra.me.REG[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:688 */
-  fra.me.REG[4] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[2])(fra.me.REG[2]);
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[4])(fra.me.REG[4]);
-  REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
+  /* 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) {
+    fra.me.REG[3] = BOX_NativeString("");
+    REGB0 = TAG_Int(0);
+    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
+    once_value_1 = fra.me.REG[3];
+    register_static_object(&once_value_1);
+  } else fra.me.REG[3] = once_value_1;
+  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]);
+  fra.me.REG[3] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[4] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[4])(fra.me.REG[4]);
+  fra.me.REG[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+  if (!once_value_2) {
+    fra.me.REG[4] = BOX_NativeString("___out");
+    REGB0 = TAG_Int(6);
+    fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
+    once_value_2 = fra.me.REG[4];
+    register_static_object(&once_value_2);
+  } else fra.me.REG[4] = once_value_2;
+  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: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: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, 688);
+    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 706);
   }
-  REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[0])(fra.me.REG[0]);
+  REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
   REGB2 = TAG_Int(1);
-  /* ./../lib/standard//kernel.nit:218 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* ./compiling//compiling_icode.nit:688 */
+  /* compiling/compiling_icode.nit:706 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ./../lib/standard//kernel.nit:210 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* ./compiling//compiling_icode.nit:688 */
+    /* compiling/compiling_icode.nit:706 */
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 688);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 706);
   }
-  /* ./compiling//compiling_icode.nit:690 */
-  fra.me.REG[4] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[2])(fra.me.REG[2]);
-  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:692 */
+  /* 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:710 */
   fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
-  /* ./compiling//compiling_icode.nit:693 */
-  REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-  if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 693);
-  }
-  fra.me.REG[6] = CALL_metamodel___static_type___MMSignature___recv(fra.me.REG[0])(fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:711 */
   REGB1 = TAG_Int(0);
-  /* ./../lib/standard//collection//array.nit:241 */
-  fra.me.REG[7] = fra.me.REG[4];
-  /* ./../lib/standard//collection//array.nit:243 */
+  /* ../lib/standard/collection/array.nit:278 */
+  fra.me.REG[6] = fra.me.REG[3];
+  /* ../lib/standard/collection/array.nit:280 */
   REGB2 = TAG_Int(0);
   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:216 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-  /* ./../lib/standard//collection//array.nit:243 */
+  /* ../lib/standard/collection/array.nit:280 */
   if (UNTAG_Bool(REGB2)) {
-    REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
+    REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6])!=NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
     }
-    REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
+    REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6]);
     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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
   } else {
-    /* ./../lib/standard//collection//array.nit:243 */
-    REGB0 = TAG_Bool(false);
+    /* ../lib/standard/collection/array.nit:280 */
+    REGB0 = TAG_Bool(0);
     REGB2 = REGB0;
   }
   if (UNTAG_Bool(REGB2)) {
   } else {
-    nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+    nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
   }
-  /* ./../lib/standard//collection//array.nit:244 */
-  fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
-  REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
+  /* ../lib/standard/collection/array.nit:281 */
+  fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[6]);
+  REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
-    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
   }
-  /* ./../lib/standard//collection//array.nit:652 */
-  fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-  /* ./../lib/standard//collection//array.nit:244 */
-  goto label1;
-  label1: while(0);
-  /* ./compiling//compiling_icode.nit:693 */
-  fra.me.REG[7] = CALL_primitive_info___MMType___unboxtype(fra.me.REG[6])(fra.me.REG[6], 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:694 */
+  /* ../lib/standard/collection/array.nit:718 */
+  fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB1)];
+  /* ../lib/standard/collection/array.nit:281 */
+  goto label3;
+  label3: while(0);
+  /* 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:712 */
   REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
+  REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
-    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 694);
+    nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 712);
   }
-  REGB2 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//kernel.nit:335 */
+  REGB2 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
+  /* ../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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB0)) {
-      /* ./compiling//compiling_icode.nit:694 */
+      /* compiling/compiling_icode.nit:712 */
       REGB0 = REGB1;
-      /* ./compiling//compiling_icode.nit:695 */
-      REGB3 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-      if (UNTAG_Bool(REGB3)) {
-        nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 695);
-      }
-      fra.me.REG[7] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
+      /* compiling/compiling_icode.nit:713 */
       REGB3 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
-      /* ./../lib/standard//collection//array.nit:241 */
-      fra.me.REG[6] = fra.me.REG[4];
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:278 */
+      fra.me.REG[4] = fra.me.REG[3];
+      /* ../lib/standard/collection/array.nit:280 */
       REGB0 = TAG_Int(0);
       REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
       if (UNTAG_Bool(REGB4)) {
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ./../lib/standard//kernel.nit:216 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB0));
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB0)) {
-        REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6])!=NIT_NULL);
+        REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
         if (UNTAG_Bool(REGB0)) {
         } else {
-          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
         }
-        REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6]);
+        REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
         REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
         if (UNTAG_Bool(REGB4)) {
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ./../lib/standard//kernel.nit:215 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB0 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB0));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
-        REGB4 = TAG_Bool(false);
+        /* ../lib/standard/collection/array.nit:280 */
+        REGB4 = TAG_Bool(0);
         REGB0 = REGB4;
       }
       if (UNTAG_Bool(REGB0)) {
       } else {
-        nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+        nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
       }
-      /* ./../lib/standard//collection//array.nit:244 */
-      fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[6]);
-      REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+      /* ../lib/standard/collection/array.nit:281 */
+      fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
+      REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
-        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ./../lib/standard//collection//array.nit:652 */
-      fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB3)];
-      /* ./../lib/standard//collection//array.nit:244 */
-      goto label2;
-      label2: while(0);
-      /* ./compiling//compiling_icode.nit:695 */
-      fra.me.REG[6] = CALL_primitive_info___MMType___unboxtype(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
-      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/collection/array.nit:718 */
+      fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
+      /* ../lib/standard/collection/array.nit:281 */
+      goto label4;
+      label4: while(0);
+      /* 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:357 */
       REGB3 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB1 = REGB3;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label3;
+      /* ../lib/standard/kernel.nit:355 */
+      goto label5;
     }
   }
-  label3: while(0);
-  /* ./compiling//compiling_icode.nit:697 */
+  label5: while(0);
+  /* compiling/compiling_icode.nit:715 */
   REGB1 = TAG_Int(5);
-  fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-  if (!once_value_4) {
-    fra.me.REG[6] = BOX_NativeString("");
-    REGB1 = TAG_Int(0);
-    fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-    once_value_4 = fra.me.REG[6];
-    register_static_object(&once_value_4);
-  } else fra.me.REG[6] = once_value_4;
-  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]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-  if (!once_value_5) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB1 = TAG_Int(1);
-    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
-    once_value_5 = fra.me.REG[3];
-    register_static_object(&once_value_5);
-  } else fra.me.REG[3] = once_value_5;
-  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]);
+  fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_6) {
-    fra.me.REG[3] = BOX_NativeString(", ");
-    REGB1 = TAG_Int(2);
-    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
-    once_value_6 = fra.me.REG[3];
+    fra.me.REG[4] = BOX_NativeString("");
+    REGB1 = TAG_Int(0);
+    fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
+    once_value_6 = fra.me.REG[4];
     register_static_object(&once_value_6);
-  } else fra.me.REG[3] = once_value_6;
-  fra.me.REG[3] = fra.me.REG[3];
-  fra.me.REG[3] = CALL_standard___string___Collection___join(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+  } else fra.me.REG[4] = once_value_6;
+  fra.me.REG[4] = fra.me.REG[4];
+  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
   if (!once_value_7) {
-    fra.me.REG[3] = BOX_NativeString(")");
+    fra.me.REG[2] = BOX_NativeString("(");
     REGB1 = TAG_Int(1);
-    fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
-    once_value_7 = fra.me.REG[3];
+    fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
+    once_value_7 = fra.me.REG[2];
     register_static_object(&once_value_7);
-  } else fra.me.REG[3] = once_value_7;
-  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]);
-  fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-  /* ./compiling//compiling_icode.nit:699 */
-  REGB1 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[2])(fra.me.REG[2]);
+  } else fra.me.REG[2] = once_value_7;
+  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]);
+  if (!once_value_8) {
+    fra.me.REG[2] = BOX_NativeString(", ");
+    REGB1 = TAG_Int(2);
+    fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
+    once_value_8 = fra.me.REG[2];
+    register_static_object(&once_value_8);
+  } else fra.me.REG[2] = once_value_8;
+  fra.me.REG[2] = fra.me.REG[2];
+  fra.me.REG[2] = CALL_standard___string___Collection___join(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
+  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+  if (!once_value_9) {
+    fra.me.REG[2] = BOX_NativeString(")");
+    REGB1 = TAG_Int(1);
+    fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
+    once_value_9 = fra.me.REG[2];
+    register_static_object(&once_value_9);
+  } else fra.me.REG[2] = once_value_9;
+  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:717 */
+  REGB1 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 699);
-    }
-    fra.me.REG[0] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[0])(fra.me.REG[0]);
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 699);
-    }
-    fra.me.REG[0] = CALL_primitive_info___MMType___boxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
-    fra.me.REG[4] = fra.me.REG[0];
   }
-  /* ./compiling//compiling_icode.nit:700 */
-  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:701 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* 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: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;
@@ -5207,17 +5353,18 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               static val_t once_value_433; /* Once value */
                static val_t once_value_434; /* Once value */
                static val_t once_value_435; /* Once value */
+               static val_t once_value_436; /* Once value */
                static val_t once_value_437; /* Once value */
                static val_t once_value_438; /* Once value */
                static val_t once_value_439; /* Once value */
                static val_t once_value_440; /* Once value */
-               static val_t once_value_441; /* Once value */
                static val_t once_value_442; /* Once value */
                static val_t once_value_443; /* Once value */
+               static val_t once_value_444; /* Once value */
                static val_t once_value_445; /* Once value */
+               static val_t once_value_446; /* Once value */
                static val_t once_value_447; /* Once value */
                static val_t once_value_448; /* Once value */
-               static val_t once_value_449; /* Once value */
                static val_t once_value_450; /* Once value */
                static val_t once_value_452; /* Once value */
                static val_t once_value_453; /* Once value */
@@ -5236,19 +5383,24 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                static val_t once_value_469; /* Once value */
                static val_t once_value_470; /* Once value */
                static val_t once_value_472; /* Once value */
-      static val_t once_value_473; /* Once value */
-      static val_t once_value_474; /* Once value */
-    static val_t once_value_475; /* Once value */
-    static val_t once_value_476; /* Once value */
-    static val_t once_value_477; /* Once value */
-    static val_t once_value_478; /* Once value */
-    static val_t once_value_479; /* Once value */
+               static val_t once_value_473; /* Once value */
+               static val_t once_value_474; /* Once value */
+               static val_t once_value_475; /* Once value */
+               static val_t once_value_477; /* Once value */
+      static val_t once_value_478; /* Once value */
+      static val_t once_value_479; /* Once value */
+    static val_t once_value_480; /* Once value */
+    static val_t once_value_481; /* Once value */
+    static val_t once_value_482; /* Once value */
+    static val_t once_value_483; /* Once value */
+    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 = 704;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -5259,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:706 */
+  /* 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:707 */
+  /* 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, 707);
+    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:218 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* ./compiling//compiling_icode.nit:707 */
+  /* compiling/compiling_icode.nit:725 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ./../lib/standard//kernel.nit:210 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* ./compiling//compiling_icode.nit:707 */
+    /* compiling/compiling_icode.nit:725 */
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 707);
+    nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_icode, 725);
   }
-  /* ./compiling//compiling_icode.nit:708 */
+  /* 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:709 */
+  /* 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:710 */
+  /* 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:711 */
+  /* compiling/compiling_icode.nit:729 */
   fra.me.REG[5] = NIT_NULL;
-  /* ./compiling//compiling_icode.nit:712 */
+  /* compiling/compiling_icode.nit:730 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[6] = BOX_NativeString("Int");
@@ -5308,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;
@@ -5320,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:713 */
+    /* compiling/compiling_icode.nit:731 */
     if (!once_value_3) {
       if (!once_value_4) {
         fra.me.REG[6] = BOX_NativeString("object_id");
@@ -5330,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;
@@ -5342,25 +5494,25 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       REGB1 = REGB2;
     }
     if (UNTAG_Bool(REGB1)) {
-      /* ./compiling//compiling_icode.nit:714 */
+      /* compiling/compiling_icode.nit:732 */
       REGB1 = TAG_Int(0);
-      /* ./../lib/standard//collection//array.nit:241 */
+      /* ../lib/standard/collection/array.nit:278 */
       fra.me.REG[6] = fra.me.REG[4];
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       REGB2 = TAG_Int(0);
       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:216 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB2)) {
         REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6])!=NIT_NULL);
         if (UNTAG_Bool(REGB2)) {
         } else {
-          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+          nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
         }
         REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[6]);
         REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5368,32 +5520,32 @@ 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:215 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
-        REGB0 = TAG_Bool(false);
+        /* ../lib/standard/collection/array.nit:280 */
+        REGB0 = TAG_Bool(0);
         REGB2 = REGB0;
       }
       if (UNTAG_Bool(REGB2)) {
       } else {
-        nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+        nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
       }
-      /* ./../lib/standard//collection//array.nit:244 */
+      /* ../lib/standard/collection/array.nit:281 */
       fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[6]);
       REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
       if (UNTAG_Bool(REGB2)) {
-        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+        nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ./../lib/standard//collection//array.nit:652 */
+      /* ../lib/standard/collection/array.nit:718 */
       fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB1)];
-      /* ./../lib/standard//collection//array.nit:244 */
+      /* ../lib/standard/collection/array.nit:281 */
       goto label5;
       label5: while(0);
-      /* ./compiling//compiling_icode.nit:714 */
+      /* compiling/compiling_icode.nit:732 */
       fra.me.REG[5] = fra.me.REG[6];
     } else {
-      /* ./compiling//compiling_icode.nit:715 */
+      /* compiling/compiling_icode.nit:733 */
       if (!once_value_6) {
         if (!once_value_7) {
           fra.me.REG[6] = BOX_NativeString("unary -");
@@ -5403,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;
@@ -5415,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:716 */
+        /* 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) {
@@ -5428,23 +5580,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         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]);
         REGB1 = TAG_Int(0);
-        /* ./../lib/standard//collection//array.nit:241 */
+        /* ../lib/standard/collection/array.nit:278 */
         fra.me.REG[7] = fra.me.REG[4];
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB2 = TAG_Int(0);
         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:216 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB2)) {
           REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
           } else {
-            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
           }
           REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
           REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5452,29 +5604,29 @@ 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:215 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
-          REGB0 = TAG_Bool(false);
+          /* ../lib/standard/collection/array.nit:280 */
+          REGB0 = TAG_Bool(0);
           REGB2 = REGB0;
         }
         if (UNTAG_Bool(REGB2)) {
         } else {
-          nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+          nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
         }
-        /* ./../lib/standard//collection//array.nit:244 */
+        /* ../lib/standard/collection/array.nit:281 */
         fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
         REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
         if (UNTAG_Bool(REGB2)) {
-          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
         }
-        /* ./../lib/standard//collection//array.nit:652 */
+        /* ../lib/standard/collection/array.nit:718 */
         fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-        /* ./../lib/standard//collection//array.nit:244 */
+        /* ../lib/standard/collection/array.nit:281 */
         goto label9;
         label9: while(0);
-        /* ./compiling//compiling_icode.nit:716 */
+        /* 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("))");
@@ -5488,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:717 */
+        /* compiling/compiling_icode.nit:735 */
         if (!once_value_11) {
           if (!once_value_12) {
             fra.me.REG[6] = BOX_NativeString("output");
@@ -5498,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;
@@ -5510,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:718 */
+          /* 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) {
@@ -5523,23 +5675,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           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]);
           REGB1 = TAG_Int(0);
-          /* ./../lib/standard//collection//array.nit:241 */
+          /* ../lib/standard/collection/array.nit:278 */
           fra.me.REG[7] = fra.me.REG[4];
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB2 = TAG_Int(0);
           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:216 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
             REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
             }
             REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
             REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5547,29 +5699,29 @@ 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:215 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
-            REGB0 = TAG_Bool(false);
+            /* ../lib/standard/collection/array.nit:280 */
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
           } else {
-            nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+            nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
           }
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
           REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
-            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
           }
-          /* ./../lib/standard//collection//array.nit:652 */
+          /* ../lib/standard/collection/array.nit:718 */
           fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           goto label14;
           label14: while(0);
-          /* ./compiling//compiling_icode.nit:718 */
+          /* 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("));");
@@ -5583,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:719 */
+          /* compiling/compiling_icode.nit:737 */
           if (!once_value_16) {
             if (!once_value_17) {
               fra.me.REG[6] = BOX_NativeString("ascii");
@@ -5593,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;
@@ -5605,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:720 */
+            /* 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) {
@@ -5618,23 +5770,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             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]);
             REGB1 = TAG_Int(0);
-            /* ./../lib/standard//collection//array.nit:241 */
+            /* ../lib/standard/collection/array.nit:278 */
             fra.me.REG[7] = fra.me.REG[4];
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB2 = TAG_Int(0);
             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:216 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
               }
               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
               REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5642,29 +5794,29 @@ 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:215 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
-              REGB0 = TAG_Bool(false);
+              /* ../lib/standard/collection/array.nit:280 */
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+              nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
             }
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
             REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
-              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
             }
-            /* ./../lib/standard//collection//array.nit:652 */
+            /* ../lib/standard/collection/array.nit:718 */
             fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             goto label19;
             label19: while(0);
-            /* ./compiling//compiling_icode.nit:720 */
+            /* 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("))");
@@ -5678,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:721 */
+            /* compiling/compiling_icode.nit:739 */
             if (!once_value_21) {
               if (!once_value_22) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -5688,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;
@@ -5700,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:722 */
+              /* 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) {
@@ -5713,23 +5865,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               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]);
               REGB1 = TAG_Int(0);
-              /* ./../lib/standard//collection//array.nit:241 */
+              /* ../lib/standard/collection/array.nit:278 */
               fra.me.REG[7] = fra.me.REG[4];
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB2 = TAG_Int(0);
               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:216 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5737,29 +5889,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
               }
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
               }
-              /* ./../lib/standard//collection//array.nit:652 */
+              /* ../lib/standard/collection/array.nit:718 */
               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               goto label24;
               label24: while(0);
-              /* ./compiling//compiling_icode.nit:722 */
+              /* 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)");
@@ -5773,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:723 */
+              /* compiling/compiling_icode.nit:741 */
               if (!once_value_26) {
                if (!once_value_27) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -5783,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;
@@ -5795,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:724 */
+               /* 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) {
@@ -5808,23 +5960,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5832,29 +5984,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label29;
                label29: while(0);
-               /* ./compiling//compiling_icode.nit:724 */
+               /* 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)");
@@ -5868,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:725 */
+               /* compiling/compiling_icode.nit:743 */
                if (!once_value_31) {
                if (!once_value_32) {
                fra.me.REG[6] = BOX_NativeString("to_f");
@@ -5878,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;
@@ -5890,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:726 */
+               /* 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) {
@@ -5903,23 +6055,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -5927,29 +6079,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label34;
                label34: while(0);
-               /* ./compiling//compiling_icode.nit:726 */
+               /* 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("))");
@@ -5963,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:727 */
+               /* compiling/compiling_icode.nit:745 */
                if (!once_value_36) {
                if (!once_value_37) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -5973,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;
@@ -5985,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:728 */
+               /* 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) {
@@ -5998,23 +6150,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6022,29 +6174,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label39;
                label39: while(0);
-               /* ./compiling//compiling_icode.nit:728 */
+               /* 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(");
@@ -6056,23 +6208,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6080,29 +6232,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label41;
                label41: while(0);
-               /* ./compiling//compiling_icode.nit:728 */
+               /* 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("))");
@@ -6116,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:729 */
+               /* compiling/compiling_icode.nit:747 */
                if (!once_value_43) {
                if (!once_value_44) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -6126,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;
@@ -6138,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:730 */
+               /* 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) {
@@ -6151,23 +6303,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6175,29 +6327,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label46;
                label46: while(0);
-               /* ./compiling//compiling_icode.nit:730 */
+               /* 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(");
@@ -6209,23 +6361,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6233,29 +6385,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label48;
                label48: while(0);
-               /* ./compiling//compiling_icode.nit:730 */
+               /* 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("))");
@@ -6269,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:731 */
+               /* compiling/compiling_icode.nit:749 */
                if (!once_value_50) {
                if (!once_value_51) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -6279,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;
@@ -6291,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:732 */
+               /* 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) {
@@ -6304,23 +6456,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6328,29 +6480,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label53;
                label53: while(0);
-               /* ./compiling//compiling_icode.nit:732 */
+               /* 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(");
@@ -6362,23 +6514,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6386,29 +6538,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label55;
                label55: while(0);
-               /* ./compiling//compiling_icode.nit:732 */
+               /* 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("))");
@@ -6422,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:733 */
+               /* compiling/compiling_icode.nit:751 */
                if (!once_value_57) {
                if (!once_value_58) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -6432,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;
@@ -6444,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:734 */
+               /* 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) {
@@ -6457,23 +6609,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6481,29 +6633,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label60;
                label60: while(0);
-               /* ./compiling//compiling_icode.nit:734 */
+               /* 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(");
@@ -6515,23 +6667,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6539,29 +6691,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label62;
                label62: while(0);
-               /* ./compiling//compiling_icode.nit:734 */
+               /* 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("))");
@@ -6575,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:735 */
+               /* compiling/compiling_icode.nit:753 */
                if (!once_value_64) {
                if (!once_value_65) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -6585,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;
@@ -6597,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:736 */
+               /* 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) {
@@ -6610,23 +6762,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6634,29 +6786,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label67;
                label67: while(0);
-               /* ./compiling//compiling_icode.nit:736 */
+               /* 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(");
@@ -6668,23 +6820,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6692,29 +6844,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label69;
                label69: while(0);
-               /* ./compiling//compiling_icode.nit:736 */
+               /* 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("))");
@@ -6728,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:737 */
+               /* compiling/compiling_icode.nit:755 */
                if (!once_value_71) {
                if (!once_value_72) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -6738,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;
@@ -6750,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:738 */
+               /* 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) {
@@ -6763,23 +6915,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6787,29 +6939,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label74;
                label74: while(0);
-               /* ./compiling//compiling_icode.nit:738 */
+               /* 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(");
@@ -6821,23 +6973,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6845,29 +6997,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label76;
                label76: while(0);
-               /* ./compiling//compiling_icode.nit:738 */
+               /* 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("))");
@@ -6881,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:739 */
+               /* compiling/compiling_icode.nit:757 */
                if (!once_value_78) {
                if (!once_value_79) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -6891,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;
@@ -6903,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:740 */
+               /* 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) {
@@ -6916,23 +7068,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6940,29 +7092,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label81;
                label81: while(0);
-               /* ./compiling//compiling_icode.nit:740 */
+               /* 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(");
@@ -6974,23 +7126,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -6998,29 +7150,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label83;
                label83: while(0);
-               /* ./compiling//compiling_icode.nit:740 */
+               /* 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("))");
@@ -7034,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:741 */
+               /* compiling/compiling_icode.nit:759 */
                if (!once_value_85) {
                if (!once_value_86) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -7044,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;
@@ -7056,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:742 */
+               /* 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) {
@@ -7069,23 +7221,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7093,29 +7245,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label88;
                label88: while(0);
-               /* ./compiling//compiling_icode.nit:742 */
+               /* 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(");
@@ -7127,23 +7279,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7151,29 +7303,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label90;
                label90: while(0);
-               /* ./compiling//compiling_icode.nit:742 */
+               /* 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("))");
@@ -7187,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:743 */
+               /* compiling/compiling_icode.nit:761 */
                if (!once_value_92) {
                if (!once_value_93) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -7197,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;
@@ -7209,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:744 */
+               /* 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) {
@@ -7222,23 +7374,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7246,29 +7398,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label95;
                label95: while(0);
-               /* ./compiling//compiling_icode.nit:744 */
+               /* 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(");
@@ -7280,23 +7432,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7304,29 +7456,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label97;
                label97: while(0);
-               /* ./compiling//compiling_icode.nit:744 */
+               /* 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("))");
@@ -7340,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:745 */
+               /* compiling/compiling_icode.nit:763 */
                if (!once_value_99) {
                if (!once_value_100) {
                fra.me.REG[6] = BOX_NativeString("lshift");
@@ -7350,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;
@@ -7362,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:746 */
+               /* 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) {
@@ -7375,23 +7527,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7399,29 +7551,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label102;
                label102: while(0);
-               /* ./compiling//compiling_icode.nit:746 */
+               /* 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(");
@@ -7433,23 +7585,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7457,29 +7609,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label104;
                label104: while(0);
-               /* ./compiling//compiling_icode.nit:746 */
+               /* 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("))");
@@ -7493,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:747 */
+               /* compiling/compiling_icode.nit:765 */
                if (!once_value_106) {
                if (!once_value_107) {
                fra.me.REG[6] = BOX_NativeString("rshift");
@@ -7503,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;
@@ -7515,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:748 */
+               /* 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) {
@@ -7528,23 +7680,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7552,29 +7704,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label109;
                label109: while(0);
-               /* ./compiling//compiling_icode.nit:748 */
+               /* 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(");
@@ -7586,23 +7738,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7610,29 +7762,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label111;
                label111: while(0);
-               /* ./compiling//compiling_icode.nit:748 */
+               /* 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("))");
@@ -7646,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:749 */
+               /* compiling/compiling_icode.nit:767 */
                if (!once_value_113) {
                if (!once_value_114) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -7656,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;
@@ -7668,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:750 */
+               /* 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) {
@@ -7681,23 +7833,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7705,29 +7857,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label116;
                label116: while(0);
-               /* ./compiling//compiling_icode.nit:750 */
+               /* 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(")==(");
@@ -7739,23 +7891,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7763,29 +7915,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label118;
                label118: while(0);
-               /* ./compiling//compiling_icode.nit:750 */
+               /* 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("))");
@@ -7799,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:751 */
+               /* compiling/compiling_icode.nit:769 */
                if (!once_value_120) {
                if (!once_value_121) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -7809,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;
@@ -7821,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:752 */
+               /* 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) {
@@ -7834,23 +7986,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7858,29 +8010,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label123;
                label123: while(0);
-               /* ./compiling//compiling_icode.nit:752 */
+               /* 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(")!=(");
@@ -7892,23 +8044,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -7916,29 +8068,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label125;
                label125: while(0);
-               /* ./compiling//compiling_icode.nit:752 */
+               /* 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("))");
@@ -7972,7 +8124,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   } else {
-    /* ./compiling//compiling_icode.nit:754 */
+    /* compiling/compiling_icode.nit:772 */
     if (!once_value_127) {
       if (!once_value_128) {
         fra.me.REG[6] = BOX_NativeString("Float");
@@ -7982,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;
@@ -7994,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:755 */
+      /* compiling/compiling_icode.nit:773 */
       if (!once_value_129) {
         if (!once_value_130) {
           fra.me.REG[6] = BOX_NativeString("object_id");
@@ -8004,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;
@@ -8016,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:756 */
+        /* 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) {
@@ -8029,23 +8181,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         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]);
         REGB1 = TAG_Int(0);
-        /* ./../lib/standard//collection//array.nit:241 */
+        /* ../lib/standard/collection/array.nit:278 */
         fra.me.REG[7] = fra.me.REG[4];
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB2 = TAG_Int(0);
         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:216 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB2)) {
           REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
           } else {
-            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+            nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
           }
           REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
           REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8053,29 +8205,29 @@ 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:215 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
-          REGB0 = TAG_Bool(false);
+          /* ../lib/standard/collection/array.nit:280 */
+          REGB0 = TAG_Bool(0);
           REGB2 = REGB0;
         }
         if (UNTAG_Bool(REGB2)) {
         } else {
-          nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+          nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
         }
-        /* ./../lib/standard//collection//array.nit:244 */
+        /* ../lib/standard/collection/array.nit:281 */
         fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
         REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
         if (UNTAG_Bool(REGB2)) {
-          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+          nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
         }
-        /* ./../lib/standard//collection//array.nit:652 */
+        /* ../lib/standard/collection/array.nit:718 */
         fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-        /* ./../lib/standard//collection//array.nit:244 */
+        /* ../lib/standard/collection/array.nit:281 */
         goto label132;
         label132: while(0);
-        /* ./compiling//compiling_icode.nit:756 */
+        /* 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("))");
@@ -8089,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:757 */
+        /* compiling/compiling_icode.nit:775 */
         if (!once_value_134) {
           if (!once_value_135) {
             fra.me.REG[6] = BOX_NativeString("unary -");
@@ -8099,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;
@@ -8111,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:758 */
+          /* 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) {
@@ -8124,23 +8276,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           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]);
           REGB1 = TAG_Int(0);
-          /* ./../lib/standard//collection//array.nit:241 */
+          /* ../lib/standard/collection/array.nit:278 */
           fra.me.REG[7] = fra.me.REG[4];
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB2 = TAG_Int(0);
           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:216 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
             REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
             }
             REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
             REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8148,29 +8300,29 @@ 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:215 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
-            REGB0 = TAG_Bool(false);
+            /* ../lib/standard/collection/array.nit:280 */
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
           } else {
-            nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+            nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
           }
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
           REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
-            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
           }
-          /* ./../lib/standard//collection//array.nit:652 */
+          /* ../lib/standard/collection/array.nit:718 */
           fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           goto label137;
           label137: while(0);
-          /* ./compiling//compiling_icode.nit:758 */
+          /* 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("))");
@@ -8184,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:759 */
+          /* compiling/compiling_icode.nit:777 */
           if (!once_value_139) {
             if (!once_value_140) {
               fra.me.REG[6] = BOX_NativeString("output");
@@ -8194,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;
@@ -8206,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:760 */
+            /* 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) {
@@ -8219,23 +8371,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             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]);
             REGB1 = TAG_Int(0);
-            /* ./../lib/standard//collection//array.nit:241 */
+            /* ../lib/standard/collection/array.nit:278 */
             fra.me.REG[7] = fra.me.REG[4];
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB2 = TAG_Int(0);
             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:216 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
               }
               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
               REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8243,29 +8395,29 @@ 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:215 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
-              REGB0 = TAG_Bool(false);
+              /* ../lib/standard/collection/array.nit:280 */
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+              nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
             }
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
             REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
-              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
             }
-            /* ./../lib/standard//collection//array.nit:652 */
+            /* ../lib/standard/collection/array.nit:718 */
             fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             goto label142;
             label142: while(0);
-            /* ./compiling//compiling_icode.nit:760 */
+            /* 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("));");
@@ -8279,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:761 */
+            /* compiling/compiling_icode.nit:779 */
             if (!once_value_144) {
               if (!once_value_145) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -8289,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;
@@ -8301,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:762 */
+              /* 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) {
@@ -8314,23 +8466,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               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]);
               REGB1 = TAG_Int(0);
-              /* ./../lib/standard//collection//array.nit:241 */
+              /* ../lib/standard/collection/array.nit:278 */
               fra.me.REG[7] = fra.me.REG[4];
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB2 = TAG_Int(0);
               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:216 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8338,29 +8490,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
               }
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
               }
-              /* ./../lib/standard//collection//array.nit:652 */
+              /* ../lib/standard/collection/array.nit:718 */
               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               goto label147;
               label147: while(0);
-              /* ./compiling//compiling_icode.nit:762 */
+              /* 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("))");
@@ -8374,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:763 */
+              /* compiling/compiling_icode.nit:781 */
               if (!once_value_149) {
                if (!once_value_150) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -8384,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;
@@ -8396,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:764 */
+               /* 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) {
@@ -8409,23 +8561,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8433,29 +8585,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label152;
                label152: while(0);
-               /* ./compiling//compiling_icode.nit:764 */
+               /* 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(");
@@ -8467,23 +8619,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8491,29 +8643,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label154;
                label154: while(0);
-               /* ./compiling//compiling_icode.nit:764 */
+               /* 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("))");
@@ -8527,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:765 */
+               /* compiling/compiling_icode.nit:783 */
                if (!once_value_156) {
                if (!once_value_157) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -8537,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;
@@ -8549,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:766 */
+               /* 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) {
@@ -8562,23 +8714,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8586,29 +8738,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label159;
                label159: while(0);
-               /* ./compiling//compiling_icode.nit:766 */
+               /* 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(");
@@ -8620,23 +8772,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8644,29 +8796,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label161;
                label161: while(0);
-               /* ./compiling//compiling_icode.nit:766 */
+               /* 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("))");
@@ -8680,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:767 */
+               /* compiling/compiling_icode.nit:785 */
                if (!once_value_163) {
                if (!once_value_164) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -8690,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;
@@ -8702,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:768 */
+               /* 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) {
@@ -8715,23 +8867,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8739,29 +8891,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label166;
                label166: while(0);
-               /* ./compiling//compiling_icode.nit:768 */
+               /* 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(");
@@ -8773,23 +8925,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8797,29 +8949,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label168;
                label168: while(0);
-               /* ./compiling//compiling_icode.nit:768 */
+               /* 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("))");
@@ -8833,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:769 */
+               /* compiling/compiling_icode.nit:787 */
                if (!once_value_170) {
                if (!once_value_171) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -8843,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;
@@ -8855,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:770 */
+               /* 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) {
@@ -8868,23 +9020,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8892,29 +9044,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label173;
                label173: while(0);
-               /* ./compiling//compiling_icode.nit:770 */
+               /* 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(");
@@ -8926,23 +9078,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -8950,29 +9102,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label175;
                label175: while(0);
-               /* ./compiling//compiling_icode.nit:770 */
+               /* 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("))");
@@ -8986,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:771 */
+               /* compiling/compiling_icode.nit:789 */
                if (!once_value_177) {
                if (!once_value_178) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -8996,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;
@@ -9008,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:772 */
+               /* 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) {
@@ -9021,23 +9173,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9045,29 +9197,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label180;
                label180: while(0);
-               /* ./compiling//compiling_icode.nit:772 */
+               /* 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(");
@@ -9079,23 +9231,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9103,29 +9255,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label182;
                label182: while(0);
-               /* ./compiling//compiling_icode.nit:772 */
+               /* 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("))");
@@ -9139,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:773 */
+               /* compiling/compiling_icode.nit:791 */
                if (!once_value_184) {
                if (!once_value_185) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -9149,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;
@@ -9161,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:774 */
+               /* 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) {
@@ -9174,23 +9326,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9198,29 +9350,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label187;
                label187: while(0);
-               /* ./compiling//compiling_icode.nit:774 */
+               /* 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(");
@@ -9232,23 +9384,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9256,29 +9408,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label189;
                label189: while(0);
-               /* ./compiling//compiling_icode.nit:774 */
+               /* 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("))");
@@ -9292,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:775 */
+               /* compiling/compiling_icode.nit:793 */
                if (!once_value_191) {
                if (!once_value_192) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -9302,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;
@@ -9314,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:776 */
+               /* 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) {
@@ -9327,23 +9479,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9351,29 +9503,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label194;
                label194: while(0);
-               /* ./compiling//compiling_icode.nit:776 */
+               /* 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(");
@@ -9385,23 +9537,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9409,29 +9561,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label196;
                label196: while(0);
-               /* ./compiling//compiling_icode.nit:776 */
+               /* 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("))");
@@ -9445,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:777 */
+               /* compiling/compiling_icode.nit:795 */
                if (!once_value_198) {
                if (!once_value_199) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -9455,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;
@@ -9467,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:778 */
+               /* 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) {
@@ -9480,23 +9632,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9504,29 +9656,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label201;
                label201: while(0);
-               /* ./compiling//compiling_icode.nit:778 */
+               /* 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(");
@@ -9538,23 +9690,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9562,29 +9714,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label203;
                label203: while(0);
-               /* ./compiling//compiling_icode.nit:778 */
+               /* 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("))");
@@ -9610,7 +9762,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         }
       }
     } else {
-      /* ./compiling//compiling_icode.nit:780 */
+      /* compiling/compiling_icode.nit:798 */
       if (!once_value_205) {
         if (!once_value_206) {
           fra.me.REG[6] = BOX_NativeString("Char");
@@ -9620,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;
@@ -9632,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:781 */
+        /* compiling/compiling_icode.nit:799 */
         if (!once_value_207) {
           if (!once_value_208) {
             fra.me.REG[6] = BOX_NativeString("object_id");
@@ -9642,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;
@@ -9654,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:782 */
+          /* 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) {
@@ -9667,23 +9819,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           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]);
           REGB1 = TAG_Int(0);
-          /* ./../lib/standard//collection//array.nit:241 */
+          /* ../lib/standard/collection/array.nit:278 */
           fra.me.REG[7] = fra.me.REG[4];
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB2 = TAG_Int(0);
           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:216 */
+          /* ../lib/standard/kernel.nit:236 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           if (UNTAG_Bool(REGB2)) {
             REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+              nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
             }
             REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
             REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9691,29 +9843,29 @@ 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:215 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
-            REGB0 = TAG_Bool(false);
+            /* ../lib/standard/collection/array.nit:280 */
+            REGB0 = TAG_Bool(0);
             REGB2 = REGB0;
           }
           if (UNTAG_Bool(REGB2)) {
           } else {
-            nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+            nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
           }
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
           REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
-            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+            nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
           }
-          /* ./../lib/standard//collection//array.nit:652 */
+          /* ../lib/standard/collection/array.nit:718 */
           fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-          /* ./../lib/standard//collection//array.nit:244 */
+          /* ../lib/standard/collection/array.nit:281 */
           goto label210;
           label210: while(0);
-          /* ./compiling//compiling_icode.nit:782 */
+          /* 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("))");
@@ -9727,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:783 */
+          /* compiling/compiling_icode.nit:801 */
           if (!once_value_212) {
             if (!once_value_213) {
               fra.me.REG[6] = BOX_NativeString("unary -");
@@ -9737,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;
@@ -9749,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:784 */
+            /* 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) {
@@ -9762,23 +9914,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             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]);
             REGB1 = TAG_Int(0);
-            /* ./../lib/standard//collection//array.nit:241 */
+            /* ../lib/standard/collection/array.nit:278 */
             fra.me.REG[7] = fra.me.REG[4];
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB2 = TAG_Int(0);
             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:216 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
               }
               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
               REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9786,29 +9938,29 @@ 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:215 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
-              REGB0 = TAG_Bool(false);
+              /* ../lib/standard/collection/array.nit:280 */
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+              nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
             }
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
             REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
-              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
             }
-            /* ./../lib/standard//collection//array.nit:652 */
+            /* ../lib/standard/collection/array.nit:718 */
             fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             goto label215;
             label215: while(0);
-            /* ./compiling//compiling_icode.nit:784 */
+            /* 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("))");
@@ -9822,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:785 */
+            /* compiling/compiling_icode.nit:803 */
             if (!once_value_217) {
               if (!once_value_218) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -9832,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;
@@ -9844,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:786 */
+              /* 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) {
@@ -9857,23 +10009,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               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]);
               REGB1 = TAG_Int(0);
-              /* ./../lib/standard//collection//array.nit:241 */
+              /* ../lib/standard/collection/array.nit:278 */
               fra.me.REG[7] = fra.me.REG[4];
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB2 = TAG_Int(0);
               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:216 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9881,29 +10033,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
               }
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
               }
-              /* ./../lib/standard//collection//array.nit:652 */
+              /* ../lib/standard/collection/array.nit:718 */
               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               goto label220;
               label220: while(0);
-              /* ./compiling//compiling_icode.nit:786 */
+              /* 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("));");
@@ -9917,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:787 */
+              /* compiling/compiling_icode.nit:805 */
               if (!once_value_222) {
                if (!once_value_223) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -9927,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;
@@ -9939,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:788 */
+               /* 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) {
@@ -9952,23 +10104,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -9976,29 +10128,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label225;
                label225: while(0);
-               /* ./compiling//compiling_icode.nit:788 */
+               /* 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("))");
@@ -10012,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:789 */
+               /* compiling/compiling_icode.nit:807 */
                if (!once_value_227) {
                if (!once_value_228) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -10022,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;
@@ -10034,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:790 */
+               /* 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) {
@@ -10047,23 +10199,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10071,29 +10223,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label230;
                label230: while(0);
-               /* ./compiling//compiling_icode.nit:790 */
+               /* 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)");
@@ -10107,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:791 */
+               /* compiling/compiling_icode.nit:809 */
                if (!once_value_232) {
                if (!once_value_233) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -10117,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;
@@ -10129,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:792 */
+               /* 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) {
@@ -10142,23 +10294,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10166,29 +10318,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label235;
                label235: while(0);
-               /* ./compiling//compiling_icode.nit:792 */
+               /* 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)");
@@ -10202,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:793 */
+               /* compiling/compiling_icode.nit:811 */
                if (!once_value_237) {
                if (!once_value_238) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -10212,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;
@@ -10224,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:794 */
+               /* 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) {
@@ -10237,23 +10389,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10261,29 +10413,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label240;
                label240: while(0);
-               /* ./compiling//compiling_icode.nit:794 */
+               /* 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')");
@@ -10297,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:795 */
+               /* compiling/compiling_icode.nit:813 */
                if (!once_value_242) {
                if (!once_value_243) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -10307,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;
@@ -10319,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:796 */
+               /* 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) {
@@ -10332,23 +10484,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10356,29 +10508,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label245;
                label245: while(0);
-               /* ./compiling//compiling_icode.nit:796 */
+               /* 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(");
@@ -10390,23 +10542,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10414,29 +10566,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label247;
                label247: while(0);
-               /* ./compiling//compiling_icode.nit:796 */
+               /* 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("))");
@@ -10450,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:797 */
+               /* compiling/compiling_icode.nit:815 */
                if (!once_value_249) {
                if (!once_value_250) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -10460,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;
@@ -10472,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:798 */
+               /* 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) {
@@ -10485,23 +10637,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10509,29 +10661,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label252;
                label252: while(0);
-               /* ./compiling//compiling_icode.nit:798 */
+               /* 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(");
@@ -10543,23 +10695,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10567,29 +10719,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label254;
                label254: while(0);
-               /* ./compiling//compiling_icode.nit:798 */
+               /* 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("))");
@@ -10603,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:799 */
+               /* compiling/compiling_icode.nit:817 */
                if (!once_value_256) {
                if (!once_value_257) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -10613,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;
@@ -10625,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:800 */
+               /* 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) {
@@ -10638,23 +10790,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10662,29 +10814,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label259;
                label259: while(0);
-               /* ./compiling//compiling_icode.nit:800 */
+               /* 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(");
@@ -10696,23 +10848,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10720,29 +10872,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label261;
                label261: while(0);
-               /* ./compiling//compiling_icode.nit:800 */
+               /* 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("))");
@@ -10756,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:801 */
+               /* compiling/compiling_icode.nit:819 */
                if (!once_value_263) {
                if (!once_value_264) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -10766,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;
@@ -10778,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:802 */
+               /* 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) {
@@ -10791,23 +10943,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10815,29 +10967,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label266;
                label266: while(0);
-               /* ./compiling//compiling_icode.nit:802 */
+               /* 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(");
@@ -10849,23 +11001,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10873,29 +11025,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label268;
                label268: while(0);
-               /* ./compiling//compiling_icode.nit:802 */
+               /* 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("))");
@@ -10909,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:803 */
+               /* compiling/compiling_icode.nit:821 */
                if (!once_value_270) {
                if (!once_value_271) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -10919,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;
@@ -10931,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:804 */
+               /* 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) {
@@ -10944,23 +11096,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -10968,29 +11120,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label273;
                label273: while(0);
-               /* ./compiling//compiling_icode.nit:804 */
+               /* 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(");
@@ -11002,23 +11154,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11026,29 +11178,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label275;
                label275: while(0);
-               /* ./compiling//compiling_icode.nit:804 */
+               /* 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("))");
@@ -11062,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:805 */
+               /* compiling/compiling_icode.nit:823 */
                if (!once_value_277) {
                if (!once_value_278) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -11072,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;
@@ -11084,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:806 */
+               /* 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) {
@@ -11097,23 +11249,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11121,29 +11273,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label280;
                label280: while(0);
-               /* ./compiling//compiling_icode.nit:806 */
+               /* 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(");
@@ -11155,23 +11307,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11179,29 +11331,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label282;
                label282: while(0);
-               /* ./compiling//compiling_icode.nit:806 */
+               /* 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("))");
@@ -11215,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:807 */
+               /* compiling/compiling_icode.nit:825 */
                if (!once_value_284) {
                if (!once_value_285) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -11225,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;
@@ -11237,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:808 */
+               /* 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) {
@@ -11250,23 +11402,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11274,29 +11426,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label287;
                label287: while(0);
-               /* ./compiling//compiling_icode.nit:808 */
+               /* 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(");
@@ -11308,23 +11460,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11332,29 +11484,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label289;
                label289: while(0);
-               /* ./compiling//compiling_icode.nit:808 */
+               /* 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("))");
@@ -11368,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:809 */
+               /* compiling/compiling_icode.nit:827 */
                if (!once_value_291) {
                if (!once_value_292) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -11378,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;
@@ -11390,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:810 */
+               /* 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) {
@@ -11403,23 +11555,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11427,29 +11579,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label294;
                label294: while(0);
-               /* ./compiling//compiling_icode.nit:810 */
+               /* 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(");
@@ -11461,23 +11613,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11485,29 +11637,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label296;
                label296: while(0);
-               /* ./compiling//compiling_icode.nit:810 */
+               /* 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("))");
@@ -11521,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:811 */
+               /* compiling/compiling_icode.nit:829 */
                if (!once_value_298) {
                if (!once_value_299) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -11531,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;
@@ -11543,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:812 */
+               /* 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) {
@@ -11556,23 +11708,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11580,29 +11732,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label301;
                label301: while(0);
-               /* ./compiling//compiling_icode.nit:812 */
+               /* 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(");
@@ -11614,23 +11766,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11638,29 +11790,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label303;
                label303: while(0);
-               /* ./compiling//compiling_icode.nit:812 */
+               /* 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("))");
@@ -11674,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:813 */
+               /* compiling/compiling_icode.nit:831 */
                if (!once_value_305) {
                if (!once_value_306) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -11684,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;
@@ -11696,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:814 */
+               /* 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) {
@@ -11709,23 +11861,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11733,29 +11885,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label308;
                label308: while(0);
-               /* ./compiling//compiling_icode.nit:814 */
+               /* 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(")==(");
@@ -11767,23 +11919,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11791,29 +11943,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label310;
                label310: while(0);
-               /* ./compiling//compiling_icode.nit:814 */
+               /* 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("))");
@@ -11827,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:815 */
+               /* compiling/compiling_icode.nit:833 */
                if (!once_value_312) {
                if (!once_value_313) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -11837,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;
@@ -11849,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:816 */
+               /* 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) {
@@ -11862,23 +12014,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11886,29 +12038,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label315;
                label315: while(0);
-               /* ./compiling//compiling_icode.nit:816 */
+               /* 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(")!=(");
@@ -11920,23 +12072,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -11944,29 +12096,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label317;
                label317: while(0);
-               /* ./compiling//compiling_icode.nit:816 */
+               /* 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("))");
@@ -11998,7 +12150,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           }
         }
       } else {
-        /* ./compiling//compiling_icode.nit:818 */
+        /* compiling/compiling_icode.nit:836 */
         if (!once_value_319) {
           if (!once_value_320) {
             fra.me.REG[6] = BOX_NativeString("Bool");
@@ -12008,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;
@@ -12020,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:819 */
+          /* compiling/compiling_icode.nit:837 */
           if (!once_value_321) {
             if (!once_value_322) {
               fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12030,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;
@@ -12042,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:820 */
+            /* 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) {
@@ -12055,23 +12207,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             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]);
             REGB1 = TAG_Int(0);
-            /* ./../lib/standard//collection//array.nit:241 */
+            /* ../lib/standard/collection/array.nit:278 */
             fra.me.REG[7] = fra.me.REG[4];
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB2 = TAG_Int(0);
             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:216 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB2)) {
               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
               }
               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
               REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12079,29 +12231,29 @@ 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:215 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
-              REGB0 = TAG_Bool(false);
+              /* ../lib/standard/collection/array.nit:280 */
+              REGB0 = TAG_Bool(0);
               REGB2 = REGB0;
             }
             if (UNTAG_Bool(REGB2)) {
             } else {
-              nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+              nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
             }
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
             REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
             if (UNTAG_Bool(REGB2)) {
-              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+              nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
             }
-            /* ./../lib/standard//collection//array.nit:652 */
+            /* ../lib/standard/collection/array.nit:718 */
             fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-            /* ./../lib/standard//collection//array.nit:244 */
+            /* ../lib/standard/collection/array.nit:281 */
             goto label324;
             label324: while(0);
-            /* ./compiling//compiling_icode.nit:820 */
+            /* 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("))");
@@ -12115,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:821 */
+            /* compiling/compiling_icode.nit:839 */
             if (!once_value_326) {
               if (!once_value_327) {
                fra.me.REG[6] = BOX_NativeString("unary -");
@@ -12125,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;
@@ -12137,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:822 */
+              /* 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) {
@@ -12150,23 +12302,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               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]);
               REGB1 = TAG_Int(0);
-              /* ./../lib/standard//collection//array.nit:241 */
+              /* ../lib/standard/collection/array.nit:278 */
               fra.me.REG[7] = fra.me.REG[4];
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB2 = TAG_Int(0);
               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:216 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12174,29 +12326,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
               }
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
               }
-              /* ./../lib/standard//collection//array.nit:652 */
+              /* ../lib/standard/collection/array.nit:718 */
               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               goto label329;
               label329: while(0);
-              /* ./compiling//compiling_icode.nit:822 */
+              /* 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("))");
@@ -12210,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:823 */
+              /* compiling/compiling_icode.nit:841 */
               if (!once_value_331) {
                if (!once_value_332) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -12220,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;
@@ -12232,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:824 */
+               /* 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) {
@@ -12245,23 +12397,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12269,29 +12421,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label334;
                label334: while(0);
-               /* ./compiling//compiling_icode.nit:824 */
+               /* 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\");");
@@ -12305,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:825 */
+               /* compiling/compiling_icode.nit:843 */
                if (!once_value_336) {
                if (!once_value_337) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -12315,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;
@@ -12327,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:826 */
+               /* 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) {
@@ -12340,23 +12492,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12364,29 +12516,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label339;
                label339: while(0);
-               /* ./compiling//compiling_icode.nit:826 */
+               /* 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("))");
@@ -12400,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:827 */
+               /* compiling/compiling_icode.nit:845 */
                if (!once_value_341) {
                if (!once_value_342) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -12410,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;
@@ -12422,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:828 */
+               /* 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) {
@@ -12435,23 +12587,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12459,29 +12611,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label344;
                label344: while(0);
-               /* ./compiling//compiling_icode.nit:828 */
+               /* 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("))");
@@ -12495,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:829 */
+               /* compiling/compiling_icode.nit:847 */
                if (!once_value_346) {
                if (!once_value_347) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -12505,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;
@@ -12517,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:830 */
+               /* 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) {
@@ -12530,23 +12682,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12554,29 +12706,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label349;
                label349: while(0);
-               /* ./compiling//compiling_icode.nit:830 */
+               /* 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(")==(");
@@ -12588,23 +12740,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12612,29 +12764,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label351;
                label351: while(0);
-               /* ./compiling//compiling_icode.nit:830 */
+               /* 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("))");
@@ -12648,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:831 */
+               /* compiling/compiling_icode.nit:849 */
                if (!once_value_353) {
                if (!once_value_354) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -12658,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;
@@ -12670,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:832 */
+               /* 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) {
@@ -12683,23 +12835,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12707,29 +12859,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label356;
                label356: while(0);
-               /* ./compiling//compiling_icode.nit:832 */
+               /* 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(")!=(");
@@ -12741,23 +12893,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12765,29 +12917,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label358;
                label358: while(0);
-               /* ./compiling//compiling_icode.nit:832 */
+               /* 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("))");
@@ -12808,7 +12960,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             }
           }
         } else {
-          /* ./compiling//compiling_icode.nit:834 */
+          /* compiling/compiling_icode.nit:852 */
           if (!once_value_360) {
             if (!once_value_361) {
               fra.me.REG[6] = BOX_NativeString("NativeArray");
@@ -12818,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;
@@ -12830,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:835 */
+            /* compiling/compiling_icode.nit:853 */
             if (!once_value_362) {
               if (!once_value_363) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12840,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;
@@ -12852,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:836 */
+              /* 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) {
@@ -12865,23 +13017,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               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]);
               REGB1 = TAG_Int(0);
-              /* ./../lib/standard//collection//array.nit:241 */
+              /* ../lib/standard/collection/array.nit:278 */
               fra.me.REG[7] = fra.me.REG[4];
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB2 = TAG_Int(0);
               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:216 */
+              /* ../lib/standard/kernel.nit:236 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12889,29 +13041,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
               }
               if (UNTAG_Bool(REGB2)) {
               } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
               }
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
               if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
               }
-              /* ./../lib/standard//collection//array.nit:652 */
+              /* ../lib/standard/collection/array.nit:718 */
               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-              /* ./../lib/standard//collection//array.nit:244 */
+              /* ../lib/standard/collection/array.nit:281 */
               goto label365;
               label365: while(0);
-              /* ./compiling//compiling_icode.nit:836 */
+              /* 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)");
@@ -12925,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:837 */
+              /* compiling/compiling_icode.nit:855 */
               if (!once_value_367) {
                if (!once_value_368) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -12935,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;
@@ -12947,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:838 */
+               /* 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) {
@@ -12960,23 +13112,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -12984,29 +13136,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label370;
                label370: while(0);
-               /* ./compiling//compiling_icode.nit:838 */
+               /* 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(");
@@ -13018,23 +13170,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13042,29 +13194,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label372;
                label372: while(0);
-               /* ./compiling//compiling_icode.nit:838 */
+               /* 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(")]");
@@ -13078,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:839 */
+               /* compiling/compiling_icode.nit:857 */
                if (!once_value_374) {
                if (!once_value_375) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13088,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;
@@ -13100,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:840 */
+               /* 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) {
@@ -13113,23 +13265,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13137,29 +13289,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label377;
                label377: while(0);
-               /* ./compiling//compiling_icode.nit:840 */
+               /* 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(");
@@ -13171,23 +13323,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13195,29 +13347,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label379;
                label379: while(0);
-               /* ./compiling//compiling_icode.nit:840 */
+               /* 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(")]=");
@@ -13229,23 +13381,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(2);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13253,29 +13405,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label381;
                label381: while(0);
-               /* ./compiling//compiling_icode.nit:840 */
+               /* 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("");
@@ -13289,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:841 */
+               /* compiling/compiling_icode.nit:859 */
                if (!once_value_383) {
                if (!once_value_384) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -13299,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;
@@ -13311,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:842 */
+               /* 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) {
@@ -13324,23 +13476,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13348,29 +13500,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label386;
                label386: while(0);
-               /* ./compiling//compiling_icode.nit:842 */
+               /* 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)");
@@ -13382,23 +13534,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13406,29 +13558,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label388;
                label388: while(0);
-               /* ./compiling//compiling_icode.nit:842 */
+               /* 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(");
@@ -13440,23 +13592,23 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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]);
                REGB1 = TAG_Int(2);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[7] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -13464,29 +13616,29 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
                REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                goto label390;
                label390: while(0);
-               /* ./compiling//compiling_icode.nit:842 */
+               /* 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))");
@@ -13504,7 +13656,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               }
             }
           } else {
-            /* ./compiling//compiling_icode.nit:844 */
+            /* compiling/compiling_icode.nit:862 */
             if (!once_value_392) {
               if (!once_value_393) {
                fra.me.REG[6] = BOX_NativeString("NativeString");
@@ -13514,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;
@@ -13526,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:845 */
+              /* compiling/compiling_icode.nit:863 */
               if (!once_value_394) {
                if (!once_value_395) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -13536,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;
@@ -13548,80 +13700,80 @@ 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:864 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_396) {
-               fra.me.REG[2] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
                REGB1 = TAG_Int(27);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_396 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_396 = fra.me.REG[7];
                register_static_object(&once_value_396);
-               } else fra.me.REG[2] = once_value_396;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_396;
+               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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label397;
                label397: while(0);
-               /* ./compiling//compiling_icode.nit:846 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString("))");
+               fra.me.REG[7] = BOX_NativeString("))");
                REGB1 = TAG_Int(2);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_398 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_398 = fra.me.REG[7];
                register_static_object(&once_value_398);
-               } else fra.me.REG[2] = once_value_398;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_398;
+               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]);
                fra.me.REG[5] = fra.me.REG[6];
               } else {
-               /* ./compiling//compiling_icode.nit:847 */
+               /* compiling/compiling_icode.nit:865 */
                if (!once_value_399) {
                if (!once_value_400) {
                fra.me.REG[6] = BOX_NativeString("atoi");
@@ -13631,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;
@@ -13643,80 +13795,80 @@ 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:866 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_401) {
-               fra.me.REG[2] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
                REGB1 = TAG_Int(32);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_401 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_401 = fra.me.REG[7];
                register_static_object(&once_value_401);
-               } else fra.me.REG[2] = once_value_401;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_401;
+               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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label402;
                label402: while(0);
-               /* ./compiling//compiling_icode.nit:848 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")))");
+               fra.me.REG[7] = BOX_NativeString(")))");
                REGB1 = TAG_Int(3);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_403 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_403 = fra.me.REG[7];
                register_static_object(&once_value_403);
-               } else fra.me.REG[2] = once_value_403;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_403;
+               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]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* ./compiling//compiling_icode.nit:849 */
+               /* compiling/compiling_icode.nit:867 */
                if (!once_value_404) {
                if (!once_value_405) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -13726,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;
@@ -13738,138 +13890,138 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:850 */
+               /* 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) {
-               fra.me.REG[2] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
                REGB1 = TAG_Int(28);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_406 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_406 = fra.me.REG[7];
                register_static_object(&once_value_406);
-               } else fra.me.REG[2] = once_value_406;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_406;
+               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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label407;
                label407: while(0);
-               /* ./compiling//compiling_icode.nit:850 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")[UNTAG_Int(");
+               fra.me.REG[7] = BOX_NativeString(")[UNTAG_Int(");
                REGB1 = TAG_Int(12);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_408 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_408 = fra.me.REG[7];
                register_static_object(&once_value_408);
-               } else fra.me.REG[2] = once_value_408;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_408;
+               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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label409;
                label409: while(0);
-               /* ./compiling//compiling_icode.nit:850 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")])");
+               fra.me.REG[7] = BOX_NativeString(")])");
                REGB1 = TAG_Int(3);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_410 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_410 = fra.me.REG[7];
                register_static_object(&once_value_410);
-               } else fra.me.REG[2] = once_value_410;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_410;
+               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]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* ./compiling//compiling_icode.nit:851 */
+               /* compiling/compiling_icode.nit:869 */
                if (!once_value_411) {
                if (!once_value_412) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13879,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;
@@ -13891,196 +14043,196 @@ 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:870 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_413) {
-               fra.me.REG[2] = BOX_NativeString("UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("UNBOX_NativeString(");
                REGB1 = TAG_Int(19);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_413 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_413 = fra.me.REG[7];
                register_static_object(&once_value_413);
-               } else fra.me.REG[2] = once_value_413;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_413;
+               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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label414;
                label414: while(0);
-               /* ./compiling//compiling_icode.nit:852 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")[UNTAG_Int(");
+               fra.me.REG[7] = BOX_NativeString(")[UNTAG_Int(");
                REGB1 = TAG_Int(12);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_415 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_415 = fra.me.REG[7];
                register_static_object(&once_value_415);
-               } else fra.me.REG[2] = once_value_415;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_415;
+               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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label416;
                label416: while(0);
-               /* ./compiling//compiling_icode.nit:852 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")]=UNTAG_Char(");
+               fra.me.REG[7] = BOX_NativeString(")]=UNTAG_Char(");
                REGB1 = TAG_Int(14);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_417 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_417 = fra.me.REG[7];
                register_static_object(&once_value_417);
-               } else fra.me.REG[2] = once_value_417;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_417;
+               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]);
                REGB1 = TAG_Int(2);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label418;
                label418: while(0);
-               /* ./compiling//compiling_icode.nit:852 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(");");
+               fra.me.REG[7] = BOX_NativeString(");");
                REGB1 = TAG_Int(2);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_419 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_419 = fra.me.REG[7];
                register_static_object(&once_value_419);
-               } else fra.me.REG[2] = once_value_419;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_419;
+               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]);
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* ./compiling//compiling_icode.nit:853 */
+               /* compiling/compiling_icode.nit:871 */
                if (!once_value_420) {
                if (!once_value_421) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -14090,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;
@@ -14102,308 +14254,308 @@ 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:872 */
                REGB1 = TAG_Int(11);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_422) {
-               fra.me.REG[2] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
                REGB1 = TAG_Int(32);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_422 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_422 = fra.me.REG[7];
                register_static_object(&once_value_422);
-               } else fra.me.REG[2] = once_value_422;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_422;
+               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]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label423;
                label423: while(0);
-               /* ./compiling//compiling_icode.nit:854 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")+UNTAG_Int(");
+               fra.me.REG[7] = BOX_NativeString(")+UNTAG_Int(");
                REGB1 = TAG_Int(12);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_424 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_424 = fra.me.REG[7];
                register_static_object(&once_value_424);
-               } else fra.me.REG[2] = once_value_424;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_424;
+               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]);
                REGB1 = TAG_Int(4);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label425;
                label425: while(0);
-               /* ./compiling//compiling_icode.nit:854 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString("), UNBOX_NativeString(");
+               fra.me.REG[7] = BOX_NativeString("), UNBOX_NativeString(");
                REGB1 = TAG_Int(22);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_426 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_426 = fra.me.REG[7];
                register_static_object(&once_value_426);
-               } else fra.me.REG[2] = once_value_426;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_426;
+               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]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label427;
                label427: while(0);
-               /* ./compiling//compiling_icode.nit:854 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString(")+UNTAG_Int(");
+               fra.me.REG[7] = BOX_NativeString(")+UNTAG_Int(");
                REGB1 = TAG_Int(12);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_428 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_428 = fra.me.REG[7];
                register_static_object(&once_value_428);
-               } else fra.me.REG[2] = once_value_428;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_428;
+               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]);
                REGB1 = TAG_Int(3);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label429;
                label429: while(0);
-               /* ./compiling//compiling_icode.nit:854 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString("), UNTAG_Int(");
+               fra.me.REG[7] = BOX_NativeString("), UNTAG_Int(");
                REGB1 = TAG_Int(13);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_430 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_430 = fra.me.REG[7];
                register_static_object(&once_value_430);
-               } else fra.me.REG[2] = once_value_430;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_430;
+               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]);
                REGB1 = TAG_Int(2);
-               /* ./../lib/standard//collection//array.nit:241 */
-               fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:278 */
+               fra.me.REG[7] = fra.me.REG[4];
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
-               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+               REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
-               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+               REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[7]);
                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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
-               fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
-               REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+               /* ../lib/standard/collection/array.nit:281 */
+               fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[7]);
+               REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
-               fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:718 */
+               fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB1)];
+               /* ../lib/standard/collection/array.nit:281 */
                goto label431;
                label431: while(0);
-               /* ./compiling//compiling_icode.nit:854 */
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               /* 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[2] = BOX_NativeString("));");
+               fra.me.REG[7] = BOX_NativeString("));");
                REGB1 = TAG_Int(3);
-               fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_432 = fra.me.REG[2];
+               fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB1);
+               once_value_432 = fra.me.REG[7];
                register_static_object(&once_value_432);
-               } else fra.me.REG[2] = once_value_432;
-               fra.me.REG[2] = fra.me.REG[2];
-               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+               } else fra.me.REG[7] = once_value_432;
+               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]);
                fra.me.REG[5] = fra.me.REG[6];
                }
@@ -14412,58 +14564,114 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                }
               }
             } else {
-              /* ./compiling//compiling_icode.nit:856 */
+              /* compiling/compiling_icode.nit:874 */
               if (!once_value_433) {
                if (!once_value_434) {
-               fra.me.REG[6] = BOX_NativeString("object_id");
-               REGB1 = TAG_Int(9);
+               fra.me.REG[6] = BOX_NativeString("Sys");
+               REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
                once_value_434 = fra.me.REG[6];
                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;
               fra.me.REG[6] = fra.me.REG[6];
-              REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
+              REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[6]));
               if (UNTAG_Bool(REGB1)) {
               } else {
-               REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
+               REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
                REGB1 = REGB2;
               }
               if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:857 */
+               /* compiling/compiling_icode.nit:875 */
+               if (!once_value_435) {
+               if (!once_value_436) {
+               fra.me.REG[6] = BOX_NativeString("force_garbage_collection");
+               REGB1 = TAG_Int(24);
+               fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
+               once_value_436 = fra.me.REG[6];
+               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_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;
+               fra.me.REG[6] = fra.me.REG[6];
+               REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
+               if (UNTAG_Bool(REGB1)) {
+               } else {
+               REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
+               REGB1 = REGB2;
+               }
+               if (UNTAG_Bool(REGB1)) {
+               /* compiling/compiling_icode.nit:876 */
+               if (!once_value_437) {
+               fra.me.REG[6] = BOX_NativeString("Nit_gc_force_garbage_collection()");
+               REGB1 = TAG_Int(33);
+               fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
+               once_value_437 = fra.me.REG[6];
+               register_static_object(&once_value_437);
+               } else fra.me.REG[6] = once_value_437;
+               fra.me.REG[6] = fra.me.REG[6];
+               fra.me.REG[5] = fra.me.REG[6];
+               }
+              } else {
+               /* compiling/compiling_icode.nit:878 */
+               if (!once_value_438) {
+               if (!once_value_439) {
+               fra.me.REG[6] = BOX_NativeString("object_id");
+               REGB1 = TAG_Int(9);
+               fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
+               once_value_439 = fra.me.REG[6];
+               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_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;
+               fra.me.REG[6] = fra.me.REG[6];
+               REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
+               if (UNTAG_Bool(REGB1)) {
+               } else {
+               REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
+               REGB1 = REGB2;
+               }
+               if (UNTAG_Bool(REGB1)) {
+               /* 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_435) {
+               if (!once_value_440) {
                fra.me.REG[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
                REGB1 = TAG_Int(24);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_435 = fra.me.REG[2];
-               register_static_object(&once_value_435);
-               } else fra.me.REG[2] = once_value_435;
+               once_value_440 = fra.me.REG[2];
+               register_static_object(&once_value_440);
+               } else fra.me.REG[2] = once_value_440;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14471,56 +14679,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label436;
-               label436: while(0);
-               /* ./compiling//compiling_icode.nit:857 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label441;
+               label441: while(0);
+               /* 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_437) {
+               if (!once_value_442) {
                fra.me.REG[2] = BOX_NativeString(")[1].object_id)");
                REGB1 = TAG_Int(15);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_437 = fra.me.REG[2];
-               register_static_object(&once_value_437);
-               } else fra.me.REG[2] = once_value_437;
+               once_value_442 = fra.me.REG[2];
+               register_static_object(&once_value_442);
+               } else fra.me.REG[2] = once_value_442;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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:858 */
-               if (!once_value_438) {
-               if (!once_value_439) {
+               } else {
+               /* compiling/compiling_icode.nit:880 */
+               if (!once_value_443) {
+               if (!once_value_444) {
                fra.me.REG[6] = BOX_NativeString("sys");
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_439 = fra.me.REG[6];
-               register_static_object(&once_value_439);
-               } else fra.me.REG[6] = once_value_439;
+               once_value_444 = fra.me.REG[6];
+               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]);
-               once_value_438 = fra.me.REG[6];
-               register_static_object(&once_value_438);
-               } else fra.me.REG[6] = once_value_438;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -14529,31 +14737,31 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:859 */
-               if (!once_value_440) {
+               /* compiling/compiling_icode.nit:881 */
+               if (!once_value_445) {
                fra.me.REG[6] = BOX_NativeString("(G_sys)");
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_440 = fra.me.REG[6];
-               register_static_object(&once_value_440);
-               } else fra.me.REG[6] = once_value_440;
+               once_value_445 = fra.me.REG[6];
+               register_static_object(&once_value_445);
+               } else fra.me.REG[6] = once_value_445;
                fra.me.REG[6] = fra.me.REG[6];
                fra.me.REG[5] = fra.me.REG[6];
                } else {
-               /* ./compiling//compiling_icode.nit:860 */
-               if (!once_value_441) {
-               if (!once_value_442) {
+               /* compiling/compiling_icode.nit:882 */
+               if (!once_value_446) {
+               if (!once_value_447) {
                fra.me.REG[6] = BOX_NativeString("is_same_type");
                REGB1 = TAG_Int(12);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_442 = fra.me.REG[6];
-               register_static_object(&once_value_442);
-               } else fra.me.REG[6] = once_value_442;
+               once_value_447 = fra.me.REG[6];
+               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]);
-               once_value_441 = fra.me.REG[6];
-               register_static_object(&once_value_441);
-               } else fra.me.REG[6] = once_value_441;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -14562,36 +14770,36 @@ 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:883 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-               if (!once_value_443) {
+               if (!once_value_448) {
                fra.me.REG[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
                REGB1 = TAG_Int(18);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_443 = fra.me.REG[2];
-               register_static_object(&once_value_443);
-               } else fra.me.REG[2] = once_value_443;
+               once_value_448 = fra.me.REG[2];
+               register_static_object(&once_value_448);
+               } else fra.me.REG[2] = once_value_448;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14599,57 +14807,57 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label444;
-               label444: while(0);
-               /* ./compiling//compiling_icode.nit:861 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label449;
+               label449: while(0);
+               /* 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_445) {
+               if (!once_value_450) {
                fra.me.REG[2] = BOX_NativeString(")==VAL2VFT(");
                REGB1 = TAG_Int(11);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_445 = fra.me.REG[2];
-               register_static_object(&once_value_445);
-               } else fra.me.REG[2] = once_value_445;
+               once_value_450 = fra.me.REG[2];
+               register_static_object(&once_value_450);
+               } else fra.me.REG[2] = once_value_450;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14657,56 +14865,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label446;
-               label446: while(0);
-               /* ./compiling//compiling_icode.nit:861 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label451;
+               label451: while(0);
+               /* 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_447) {
+               if (!once_value_452) {
                fra.me.REG[2] = BOX_NativeString(")))");
                REGB1 = TAG_Int(3);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_447 = fra.me.REG[2];
-               register_static_object(&once_value_447);
-               } else fra.me.REG[2] = once_value_447;
+               once_value_452 = fra.me.REG[2];
+               register_static_object(&once_value_452);
+               } else fra.me.REG[2] = once_value_452;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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:862 */
-               if (!once_value_448) {
-               if (!once_value_449) {
+               /* compiling/compiling_icode.nit:884 */
+               if (!once_value_453) {
+               if (!once_value_454) {
                fra.me.REG[6] = BOX_NativeString("exit");
                REGB1 = TAG_Int(4);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_449 = fra.me.REG[6];
-               register_static_object(&once_value_449);
-               } else fra.me.REG[6] = once_value_449;
+               once_value_454 = fra.me.REG[6];
+               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]);
-               once_value_448 = fra.me.REG[6];
-               register_static_object(&once_value_448);
-               } else fra.me.REG[6] = once_value_448;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -14715,36 +14923,36 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:863 */
+               /* 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_450) {
+               if (!once_value_455) {
                fra.me.REG[2] = BOX_NativeString("exit(UNTAG_Int(");
                REGB1 = TAG_Int(15);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_450 = fra.me.REG[2];
-               register_static_object(&once_value_450);
-               } else fra.me.REG[2] = once_value_450;
+               once_value_455 = fra.me.REG[2];
+               register_static_object(&once_value_455);
+               } else fra.me.REG[2] = once_value_455;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14752,56 +14960,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label451;
-               label451: while(0);
-               /* ./compiling//compiling_icode.nit:863 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label456;
+               label456: while(0);
+               /* 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_452) {
+               if (!once_value_457) {
                fra.me.REG[2] = BOX_NativeString("));");
                REGB1 = TAG_Int(3);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_452 = fra.me.REG[2];
-               register_static_object(&once_value_452);
-               } else fra.me.REG[2] = once_value_452;
+               once_value_457 = fra.me.REG[2];
+               register_static_object(&once_value_457);
+               } else fra.me.REG[2] = once_value_457;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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:864 */
-               if (!once_value_453) {
-               if (!once_value_454) {
+               /* compiling/compiling_icode.nit:886 */
+               if (!once_value_458) {
+               if (!once_value_459) {
                fra.me.REG[6] = BOX_NativeString("calloc_array");
                REGB1 = TAG_Int(12);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_454 = fra.me.REG[6];
-               register_static_object(&once_value_454);
-               } else fra.me.REG[6] = once_value_454;
+               once_value_459 = fra.me.REG[6];
+               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]);
-               once_value_453 = fra.me.REG[6];
-               register_static_object(&once_value_453);
-               } else fra.me.REG[6] = once_value_453;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -14810,36 +15018,36 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:865 */
+               /* 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_455) {
+               if (!once_value_460) {
                fra.me.REG[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
                REGB1 = TAG_Int(26);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_455 = fra.me.REG[2];
-               register_static_object(&once_value_455);
-               } else fra.me.REG[2] = once_value_455;
+               once_value_460 = fra.me.REG[2];
+               register_static_object(&once_value_460);
+               } else fra.me.REG[2] = once_value_460;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14847,56 +15055,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label456;
-               label456: while(0);
-               /* ./compiling//compiling_icode.nit:865 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label461;
+               label461: while(0);
+               /* 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_457) {
+               if (!once_value_462) {
                fra.me.REG[2] = BOX_NativeString("), sizeof(val_t))");
                REGB1 = TAG_Int(17);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_457 = fra.me.REG[2];
-               register_static_object(&once_value_457);
-               } else fra.me.REG[2] = once_value_457;
+               once_value_462 = fra.me.REG[2];
+               register_static_object(&once_value_462);
+               } else fra.me.REG[2] = once_value_462;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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:866 */
-               if (!once_value_458) {
-               if (!once_value_459) {
+               /* compiling/compiling_icode.nit:888 */
+               if (!once_value_463) {
+               if (!once_value_464) {
                fra.me.REG[6] = BOX_NativeString("calloc_string");
                REGB1 = TAG_Int(13);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_459 = fra.me.REG[6];
-               register_static_object(&once_value_459);
-               } else fra.me.REG[6] = once_value_459;
+               once_value_464 = fra.me.REG[6];
+               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]);
-               once_value_458 = fra.me.REG[6];
-               register_static_object(&once_value_458);
-               } else fra.me.REG[6] = once_value_458;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -14905,36 +15113,36 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                REGB1 = REGB2;
                }
                if (UNTAG_Bool(REGB1)) {
-               /* ./compiling//compiling_icode.nit:867 */
+               /* 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_460) {
+               if (!once_value_465) {
                fra.me.REG[2] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
                REGB1 = TAG_Int(45);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_460 = fra.me.REG[2];
-               register_static_object(&once_value_460);
-               } else fra.me.REG[2] = once_value_460;
+               once_value_465 = fra.me.REG[2];
+               register_static_object(&once_value_465);
+               } else fra.me.REG[2] = once_value_465;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(1);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -14942,56 +15150,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label461;
-               label461: while(0);
-               /* ./compiling//compiling_icode.nit:867 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label466;
+               label466: while(0);
+               /* 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_462) {
+               if (!once_value_467) {
                fra.me.REG[2] = BOX_NativeString(") * sizeof(char))))");
                REGB1 = TAG_Int(19);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_462 = fra.me.REG[2];
-               register_static_object(&once_value_462);
-               } else fra.me.REG[2] = once_value_462;
+               once_value_467 = fra.me.REG[2];
+               register_static_object(&once_value_467);
+               } else fra.me.REG[2] = once_value_467;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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 */
-               if (!once_value_463) {
-               if (!once_value_464) {
+               /* compiling/compiling_icode.nit:891 */
+               if (!once_value_468) {
+               if (!once_value_469) {
                fra.me.REG[6] = BOX_NativeString("output_class_name");
                REGB1 = TAG_Int(17);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_464 = fra.me.REG[6];
-               register_static_object(&once_value_464);
-               } else fra.me.REG[6] = once_value_464;
+               once_value_469 = fra.me.REG[6];
+               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]);
-               once_value_463 = fra.me.REG[6];
-               register_static_object(&once_value_463);
-               } else fra.me.REG[6] = once_value_463;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -15000,36 +15208,36 @@ 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:892 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-               if (!once_value_465) {
+               if (!once_value_470) {
                fra.me.REG[2] = BOX_NativeString("printf(\"%s\\n\", VAL2VFT(");
                REGB1 = TAG_Int(23);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_465 = fra.me.REG[2];
-               register_static_object(&once_value_465);
-               } else fra.me.REG[2] = once_value_465;
+               once_value_470 = fra.me.REG[2];
+               register_static_object(&once_value_470);
+               } else fra.me.REG[2] = once_value_470;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:241 */
+               /* ../lib/standard/collection/array.nit:278 */
                fra.me.REG[2] = fra.me.REG[4];
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -15037,56 +15245,56 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
                REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label466;
-               label466: while(0);
-               /* ./compiling//compiling_icode.nit:870 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label471;
+               label471: while(0);
+               /* 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_467) {
+               if (!once_value_472) {
                fra.me.REG[2] = BOX_NativeString(")[2].cname);");
                REGB1 = TAG_Int(12);
                fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
-               once_value_467 = fra.me.REG[2];
-               register_static_object(&once_value_467);
-               } else fra.me.REG[2] = once_value_467;
+               once_value_472 = fra.me.REG[2];
+               register_static_object(&once_value_472);
+               } else fra.me.REG[2] = once_value_472;
                fra.me.REG[2] = fra.me.REG[2];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
                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:872 */
-               if (!once_value_468) {
-               if (!once_value_469) {
+               /* compiling/compiling_icode.nit:894 */
+               if (!once_value_473) {
+               if (!once_value_474) {
                fra.me.REG[6] = BOX_NativeString("native_class_name");
                REGB1 = TAG_Int(17);
                fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-               once_value_469 = fra.me.REG[6];
-               register_static_object(&once_value_469);
-               } else fra.me.REG[6] = once_value_469;
+               once_value_474 = fra.me.REG[6];
+               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]);
-               once_value_468 = fra.me.REG[6];
-               register_static_object(&once_value_468);
-               } else fra.me.REG[6] = once_value_468;
+               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;
                fra.me.REG[6] = fra.me.REG[6];
                REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[6]));
                if (UNTAG_Bool(REGB1)) {
@@ -15095,34 +15303,34 @@ 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:895 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-               if (!once_value_470) {
+               if (!once_value_475) {
                fra.me.REG[3] = BOX_NativeString("BOX_NativeString(VAL2VFT(");
                REGB1 = TAG_Int(25);
                fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
-               once_value_470 = fra.me.REG[3];
-               register_static_object(&once_value_470);
-               } else fra.me.REG[3] = once_value_470;
+               once_value_475 = fra.me.REG[3];
+               register_static_object(&once_value_475);
+               } else fra.me.REG[3] = once_value_475;
                fra.me.REG[3] = fra.me.REG[3];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
                REGB1 = TAG_Int(0);
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB2 = TAG_Int(0);
                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:216 */
+               /* ../lib/standard/kernel.nit:236 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                if (UNTAG_Bool(REGB2)) {
                REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+               nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
                }
                REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
                REGB0 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -15130,37 +15338,37 @@ 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:215 */
+               /* ../lib/standard/kernel.nit:235 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
-               REGB0 = TAG_Bool(false);
+               /* ../lib/standard/collection/array.nit:280 */
+               REGB0 = TAG_Bool(0);
                REGB2 = REGB0;
                }
                if (UNTAG_Bool(REGB2)) {
                } else {
-               nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+               nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
                }
-               /* ./../lib/standard//collection//array.nit:244 */
+               /* ../lib/standard/collection/array.nit:281 */
                fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
                REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
                if (UNTAG_Bool(REGB2)) {
-               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
                }
-               /* ./../lib/standard//collection//array.nit:652 */
+               /* ../lib/standard/collection/array.nit:718 */
                fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
-               /* ./../lib/standard//collection//array.nit:244 */
-               goto label471;
-               label471: while(0);
-               /* ./compiling//compiling_icode.nit:873 */
+               /* ../lib/standard/collection/array.nit:281 */
+               goto label476;
+               label476: while(0);
+               /* 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_472) {
+               if (!once_value_477) {
                fra.me.REG[4] = BOX_NativeString(")[2].cname);");
                REGB1 = TAG_Int(12);
                fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
-               once_value_472 = fra.me.REG[4];
-               register_static_object(&once_value_472);
-               } else fra.me.REG[4] = once_value_472;
+               once_value_477 = fra.me.REG[4];
+               register_static_object(&once_value_477);
+               } else fra.me.REG[4] = once_value_477;
                fra.me.REG[4] = fra.me.REG[4];
                CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
                fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
@@ -15172,6 +15380,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                }
                }
                }
+               }
               }
             }
           }
@@ -15179,13 +15388,13 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   }
-  /* ./compiling//compiling_icode.nit:876 */
+  /* 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);
@@ -15193,15 +15402,15 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* ./compiling//compiling_icode.nit:877 */
+    /* 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:878 */
+    /* 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);
@@ -15212,88 +15421,88 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     if (UNTAG_Bool(REGB1)) {
       REGB1 = TAG_Int(3);
       fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-      if (!once_value_473) {
+      if (!once_value_478) {
         fra.me.REG[3] = BOX_NativeString("fprintf(stderr, \"");
         REGB1 = TAG_Int(17);
         fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
-        once_value_473 = fra.me.REG[3];
-        register_static_object(&once_value_473);
-      } else fra.me.REG[3] = once_value_473;
+        once_value_478 = fra.me.REG[3];
+        register_static_object(&once_value_478);
+      } else fra.me.REG[3] = once_value_478;
       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]);
       REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_icode, 878);
+        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]);
-      if (!once_value_474) {
+      if (!once_value_479) {
         fra.me.REG[6] = BOX_NativeString(": \");");
         REGB1 = TAG_Int(5);
         fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-        once_value_474 = fra.me.REG[6];
-        register_static_object(&once_value_474);
-      } else fra.me.REG[6] = once_value_474;
+        once_value_479 = fra.me.REG[6];
+        register_static_object(&once_value_479);
+      } else fra.me.REG[6] = once_value_479;
       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]);
       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:879 */
+    /* 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_475) {
+    if (!once_value_480) {
       fra.me.REG[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
       REGB1 = TAG_Int(52);
       fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-      once_value_475 = fra.me.REG[6];
-      register_static_object(&once_value_475);
-    } else fra.me.REG[6] = once_value_475;
+      once_value_480 = fra.me.REG[6];
+      register_static_object(&once_value_480);
+    } else fra.me.REG[6] = once_value_480;
     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]);
     fra.me.REG[6] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(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]);
-    if (!once_value_476) {
+    if (!once_value_481) {
       fra.me.REG[6] = BOX_NativeString(".\\n\");");
       REGB1 = TAG_Int(6);
       fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-      once_value_476 = fra.me.REG[6];
-      register_static_object(&once_value_476);
-    } else fra.me.REG[6] = once_value_476;
+      once_value_481 = fra.me.REG[6];
+      register_static_object(&once_value_481);
+    } else fra.me.REG[6] = once_value_481;
     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]);
     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:880 */
-    if (!once_value_477) {
+    /* compiling/compiling_icode.nit:902 */
+    if (!once_value_482) {
       fra.me.REG[4] = BOX_NativeString("nit_exit(1);");
       REGB1 = TAG_Int(12);
       fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
-      once_value_477 = fra.me.REG[4];
-      register_static_object(&once_value_477);
-    } else fra.me.REG[4] = once_value_477;
+      once_value_482 = fra.me.REG[4];
+      register_static_object(&once_value_482);
+    } 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:881 */
-    if (!once_value_478) {
+    /* compiling/compiling_icode.nit:903 */
+    if (!once_value_483) {
       fra.me.REG[4] = BOX_NativeString("NIT_NULL");
       REGB1 = TAG_Int(8);
       fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
-      once_value_478 = fra.me.REG[4];
-      register_static_object(&once_value_478);
-    } else fra.me.REG[4] = once_value_478;
+      once_value_483 = fra.me.REG[4];
+      register_static_object(&once_value_483);
+    } else fra.me.REG[4] = once_value_483;
     fra.me.REG[4] = fra.me.REG[4];
     fra.me.REG[5] = fra.me.REG[4];
   }
-  /* ./compiling//compiling_icode.nit:883 */
+  /* 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);
@@ -15301,31 +15510,32 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* ./compiling//compiling_icode.nit:884 */
+    /* 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]);
-    if (!once_value_479) {
+    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);
       fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
-      once_value_479 = fra.me.REG[6];
-      register_static_object(&once_value_479);
-    } else fra.me.REG[6] = once_value_479;
+      once_value_484 = fra.me.REG[6];
+      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:885 */
+    /* 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:886 */
+      /* 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:887 */
-      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;
@@ -15334,21 +15544,22 @@ 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 = 893;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:895 */
+  /* 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:896 */
+  /* 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:897 */
+  /* compiling/compiling_icode.nit:919 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Int(");
     REGB0 = TAG_Int(8);
@@ -15357,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);
@@ -15369,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;
@@ -15383,21 +15595,22 @@ 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 = 902;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:904 */
+  /* 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:905 */
+  /* 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:906 */
+  /* compiling/compiling_icode.nit:928 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -15406,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:907 */
+  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:908 */
+  /* compiling/compiling_icode.nit:930 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15439,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;
@@ -15451,21 +15665,22 @@ 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 = 913;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   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: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:916 */
+  /* 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:917 */
+  /* compiling/compiling_icode.nit:939 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Char(");
     REGB0 = TAG_Int(9);
@@ -15474,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);
@@ -15485,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;
@@ -15497,21 +15713,22 @@ 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 = 922;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   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: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:925 */
+  /* 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:926 */
+  /* compiling/compiling_icode.nit:948 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_Float(");
     REGB0 = TAG_Int(10);
@@ -15520,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);
@@ -15531,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;
@@ -15543,21 +15761,22 @@ 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 = 931;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:933 */
+  /* 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:934 */
+  /* 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:935 */
+  /* compiling/compiling_icode.nit:957 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_NativeString(\"");
     REGB0 = TAG_Int(18);
@@ -15566,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);
@@ -15577,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;
@@ -15597,21 +15817,22 @@ 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 = 940;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:942 */
+  /* 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:943 */
+  /* 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:944 */
+  /* compiling/compiling_icode.nit:966 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("nit_abort(\"");
     REGB0 = TAG_Int(11);
@@ -15620,25 +15841,25 @@ 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:945 */
+  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:243 */
+  /* ../lib/standard/collection/array.nit:280 */
   REGB1 = TAG_Int(0);
   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:216 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-  /* ./../lib/standard//collection//array.nit:243 */
+  /* ../lib/standard/collection/array.nit:280 */
   if (UNTAG_Bool(REGB1)) {
     REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
     }
     REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
     REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
@@ -15646,51 +15867,51 @@ 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:215 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
   } else {
-    /* ./../lib/standard//collection//array.nit:243 */
-    REGB2 = TAG_Bool(false);
+    /* ../lib/standard/collection/array.nit:280 */
+    REGB2 = TAG_Bool(0);
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+    nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
   }
-  /* ./../lib/standard//collection//array.nit:244 */
+  /* ../lib/standard/collection/array.nit:281 */
   fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
   REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
   }
-  /* ./../lib/standard//collection//array.nit:652 */
+  /* ../lib/standard/collection/array.nit:718 */
   fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
-  /* ./../lib/standard//collection//array.nit:244 */
+  /* ../lib/standard/collection/array.nit:281 */
   goto label2;
   label2: while(0);
-  /* ./compiling//compiling_icode.nit:945 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:946 */
+  /* 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:23 */
+  /* ../lib/standard/collection/array.nit:24 */
   REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
+    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:946 */
+  /* 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:217 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* ./compiling//compiling_icode.nit:946 */
+  /* compiling/compiling_icode.nit:968 */
   if (UNTAG_Bool(REGB1)) {
-    /* ./compiling//compiling_icode.nit:947 */
+    /* compiling/compiling_icode.nit:969 */
     if (!once_value_3) {
       fra.me.REG[2] = BOX_NativeString("\", \"");
       REGB1 = TAG_Int(4);
@@ -15699,25 +15920,25 @@ 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:948 */
+    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:243 */
+    /* ../lib/standard/collection/array.nit:280 */
     REGB0 = TAG_Int(0);
     REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB2)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ./../lib/standard//kernel.nit:216 */
+    /* ../lib/standard/kernel.nit:236 */
     REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
-    /* ./../lib/standard//collection//array.nit:243 */
+    /* ../lib/standard/collection/array.nit:280 */
     if (UNTAG_Bool(REGB0)) {
       REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
       } else {
-        nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
+        nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
       }
       REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
       REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -15725,31 +15946,31 @@ 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:215 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
     } else {
-      /* ./../lib/standard//collection//array.nit:243 */
-      REGB2 = TAG_Bool(false);
+      /* ../lib/standard/collection/array.nit:280 */
+      REGB2 = TAG_Bool(0);
       REGB0 = REGB2;
     }
     if (UNTAG_Bool(REGB0)) {
     } else {
-      nit_abort("Assert %s  failed", "'index'", LOCATE_standard___collection___array, 243);
+      nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
     }
-    /* ./../lib/standard//collection//array.nit:244 */
+    /* ../lib/standard/collection/array.nit:281 */
     fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
+      nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
     }
-    /* ./../lib/standard//collection//array.nit:652 */
+    /* ../lib/standard/collection/array.nit:718 */
     fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
-    /* ./../lib/standard//collection//array.nit:244 */
+    /* ../lib/standard/collection/array.nit:281 */
     goto label4;
     label4: while(0);
-    /* ./compiling//compiling_icode.nit:948 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:949 */
+    /* 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);
@@ -15758,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:951 */
+    /* compiling/compiling_icode.nit:973 */
     if (!once_value_6) {
       fra.me.REG[2] = BOX_NativeString("\", NULL");
       REGB1 = TAG_Int(7);
@@ -15769,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:953 */
+  /* compiling/compiling_icode.nit:975 */
   if (!once_value_7) {
     fra.me.REG[2] = BOX_NativeString(", LOCATE_");
     REGB1 = TAG_Int(9);
@@ -15780,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:954 */
+  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:955 */
+  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:956 */
+  /* 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);
@@ -15802,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:957 */
+    /* compiling/compiling_icode.nit:979 */
     if (!once_value_8) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB1 = TAG_Int(2);
@@ -15811,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:958 */
+    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, 958);
+      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:960 */
+    /* compiling/compiling_icode.nit:982 */
     if (!once_value_9) {
       fra.me.REG[0] = BOX_NativeString(", 0");
       REGB1 = TAG_Int(3);
@@ -15830,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:962 */
+  /* compiling/compiling_icode.nit:984 */
   if (!once_value_10) {
     fra.me.REG[0] = BOX_NativeString(");\n");
     REGB1 = TAG_Int(3);
@@ -15841,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;
@@ -15854,10 +16076,11 @@ 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 = 967;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -15865,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:967 */
+  /* compiling/compiling_icode.nit:989 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:969 */
+  /* 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:970 */
+  /* 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:971 */
+  /* 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, 971);
+    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:972 */
+  /* compiling/compiling_icode.nit:994 */
   REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[4]));
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -15894,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:973 */
+  /* 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:974 */
+  /* 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:975 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* ./compiling//compiling_icode.nit:976 */
+  /* 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);
@@ -15910,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:977 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* ./compiling//compiling_icode.nit:978 */
+  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);
@@ -15922,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;
@@ -15935,33 +16159,34 @@ 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 = 983;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:985 */
+  /* 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:986 */
+  /* 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:987 */
+  /* 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:988 */
+  /* 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:989 */
+  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);
@@ -15970,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:990 */
+  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:991 */
+  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);
@@ -15984,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;
@@ -15998,28 +16224,29 @@ 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 = 996;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:998 */
+  /* 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:999 */
+  /* 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:1000 */
+  /* 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:1001 */
+  /* compiling/compiling_icode.nit:1023 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16028,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:1002 */
+  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:1003 */
+  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);
@@ -16043,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:1004 */
+  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:1005 */
+  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);
@@ -16057,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;
@@ -16071,27 +16299,28 @@ 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 = 1010;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:1012 */
+  /* 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:1013 */
+  /* 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:1014 */
+  /* 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:1015 */
+  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);
@@ -16100,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:1016 */
+  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:1017 */
+  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);
@@ -16114,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:1018 */
+  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:1019 */
+  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);
@@ -16128,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;
@@ -16159,10 +16389,11 @@ 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 = 1024;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -16171,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:1026 */
+  /* 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:1027 */
+  /* 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:1028 */
+  /* 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:1029 */
+  /* 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:1030 */
+  /* compiling/compiling_icode.nit:1052 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16194,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:1031 */
+  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:1032 */
+    /* 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:1033 */
+      /* compiling/compiling_icode.nit:1055 */
       if (!once_value_3) {
         fra.me.REG[4] = BOX_NativeString("(");
         REGB0 = TAG_Int(1);
@@ -16213,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:1034 */
-      CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-      /* ./compiling//compiling_icode.nit:1035 */
+      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);
@@ -16225,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:1036 */
+      /* 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]);
@@ -16239,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:1037 */
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* ./compiling//compiling_icode.nit:1038 */
+        /* 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);
@@ -16250,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:1039 */
+        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:1041 */
+        /* compiling/compiling_icode.nit:1063 */
         if (!once_value_6) {
           fra.me.REG[5] = BOX_NativeString("(");
           REGB0 = TAG_Int(1);
@@ -16263,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:1042 */
-        CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* ./compiling//compiling_icode.nit:1043 */
+        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);
@@ -16275,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:1047 */
+  /* 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:1048 */
+  /* 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:1049 */
+    /* 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:1050 */
+    /* 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:1051 */
+    /* compiling/compiling_icode.nit:1073 */
     if (!once_value_8) {
       fra.me.REG[4] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16299,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:1052 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:1053 */
+    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);
@@ -16311,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:1054 */
+    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:1055 */
+    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);
@@ -16324,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:1056 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* ./compiling//compiling_icode.nit:1057 */
+    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);
@@ -16336,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:1058 */
+    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);
@@ -16346,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:1059 */
+    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:1060 */
+    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);
@@ -16359,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:1061 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* ./compiling//compiling_icode.nit:1062 */
+    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);
@@ -16371,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:1063 */
+    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);
@@ -16381,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:1064 */
+    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:1065 */
+    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);
@@ -16394,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:1067 */
+    /* 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:1068 */
+    /* compiling/compiling_icode.nit:1090 */
     if (!once_value_17) {
       fra.me.REG[1] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16408,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:1069 */
-    CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:1070 */
+    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);
@@ -16420,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:1071 */
+    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:1072 */
+    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);
@@ -16433,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:1073 */
+    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:1074 */
+    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);
@@ -16446,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:1075 */
+    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:1076 */
+    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);
@@ -16459,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;
@@ -16485,10 +16717,11 @@ 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 = 1082;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -16497,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:1084 */
+  /* 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:1085 */
+  /* 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:1086 */
+  /* 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:1087 */
+  /* compiling/compiling_icode.nit:1109 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16517,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:1088 */
+  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:1089 */
+  /* 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:1090 */
+  /* 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:1091 */
+    /* 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:1092 */
+      /* compiling/compiling_icode.nit:1114 */
       if (!once_value_3) {
         fra.me.REG[5] = BOX_NativeString("1)");
         REGB0 = TAG_Int(2);
@@ -16539,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:1093 */
+      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:1094 */
+      /* 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:1095 */
+        /* 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:1096 */
+        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);
@@ -16559,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:1097 */
+        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:1099 */
+        /* compiling/compiling_icode.nit:1121 */
         if (!once_value_5) {
           fra.me.REG[5] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16572,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:1100 */
+        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:1102 */
+    /* 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:1103 */
+      /* 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:1104 */
+        /* 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:1105 */
+        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);
@@ -16597,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:1106 */
+        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:1107 */
+        /* 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:1108 */
+          /* compiling/compiling_icode.nit:1130 */
           if (!once_value_7) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_NN(");
             REGB0 = TAG_Int(12);
@@ -16613,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:1110 */
+          /* compiling/compiling_icode.nit:1132 */
           if (!once_value_8) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16624,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:1111 */
+          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:1112 */
+          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);
@@ -16638,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:1113 */
+          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:1114 */
+          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);
@@ -16652,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:1115 */
+          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:1118 */
+      /* 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:1119 */
+        /* compiling/compiling_icode.nit:1141 */
         if (!once_value_11) {
           fra.me.REG[3] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16670,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:1120 */
+        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:1121 */
+        /* 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:1122 */
+          /* compiling/compiling_icode.nit:1144 */
           if (!once_value_12) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16686,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:1124 */
+          /* compiling/compiling_icode.nit:1146 */
           if (!once_value_13) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_OO(");
             REGB0 = TAG_Int(12);
@@ -16697,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:1127 */
+  /* 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:1128 */
+  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);
@@ -16715,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:1129 */
+  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:1130 */
+  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);
@@ -16729,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;
@@ -16742,28 +16976,29 @@ 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 = 1135;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ./compiling//compiling_icode.nit:1137 */
+  /* 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:1138 */
+  /* 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:1139 */
+  /* 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:1140 */
+  /* compiling/compiling_icode.nit:1162 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
     REGB0 = TAG_Int(21);
@@ -16772,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:1141 */
+  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:1142 */
+  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);
@@ -16786,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;
@@ -16817,10 +17053,11 @@ 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 = 1147;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -16829,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:1147 */
+  /* compiling/compiling_icode.nit:1169 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:1149 */
+  /* 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:1150 */
+  /* 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:1151 */
+  /* 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, 1151);
+    nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_icode, 1173);
   }
-  /* ./compiling//compiling_icode.nit:1152 */
+  /* 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:1153 */
+    /* 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) {
@@ -16883,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:1154 */
+    /* 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) {
@@ -16909,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:1157 */
+    /* 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) {
@@ -16934,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:1158 */
+    /* 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) {
@@ -16960,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:1160 */
+  /* compiling/compiling_icode.nit:1182 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1161 */
+  /* 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:1162 */
+  /* 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:1163 */
+  /* 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) {
@@ -17002,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:1164 */
+  /* 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) {
@@ -17027,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:1165 */
+  /* 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)) {
@@ -17056,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:1166 */
+  /* compiling/compiling_icode.nit:1188 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1167 */
+  /* 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) {
@@ -17093,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:1168 */
+  /* 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:1169 */
-  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;
@@ -17121,10 +17359,11 @@ 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 = 1174;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -17134,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:1176 */
+  /* 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:1179 */
+  /* 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:1180 */
+    /* 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) {
@@ -17166,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:1181 */
+    /* 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) {
@@ -17179,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:1183 */
+    /* 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) {
@@ -17206,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:1184 */
+    /* 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) {
@@ -17220,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:1186 */
+  /* 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:1188 */
+  /* 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) {
@@ -17279,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:1189 */
-  fra.me.REG[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:1190 */
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* ./compiling//compiling_icode.nit:1191 */
+  /* 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:1194 */
+  /* 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) {
@@ -17310,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:1195 */
+  /* compiling/compiling_icode.nit:1217 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1196 */
+  /* 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:1197 */
+  /* 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);
@@ -17329,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:1198 */
+    /* 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, 1198);
+      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:1200 */
+  /* 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:1201 */
+  /* compiling/compiling_icode.nit:1223 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1202 */
+  /* compiling/compiling_icode.nit:1224 */
   if (!once_value_14) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -17355,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;
@@ -17367,10 +17607,11 @@ 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 = 1207;
+  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;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -17378,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:1209 */
+  /* 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:1210 */
+  /* 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:1211 */
+  /* 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:1212 */
+  /* compiling/compiling_icode.nit:1234 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -17398,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:1213 */
+  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:1214 */
+    /* compiling/compiling_icode.nit:1236 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("closctx->closure_funs[");
       REGB0 = TAG_Int(22);
@@ -17411,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:1215 */
+    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:1216 */
+    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);
@@ -17426,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:1218 */
+    /* compiling/compiling_icode.nit:1240 */
     if (!once_value_5) {
       fra.me.REG[4] = BOX_NativeString("CREG[");
       REGB0 = TAG_Int(5);
@@ -17437,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:1219 */
+    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:1220 */
+    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);
@@ -17452,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:1222 */
+  /* compiling/compiling_icode.nit:1244 */
   if (!once_value_7) {
     fra.me.REG[0] = BOX_NativeString(" != NULL)");
     REGB0 = TAG_Int(9);
@@ -17463,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;
@@ -17486,10 +17728,11 @@ 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 = 1227;
+  fra.me.line = 1249;
   fra.me.meth = LOCATE_compiling___compiling_icode___IClosureDef___compile_closure;
   fra.me.has_broke = 0;
   fra.me.REG_size = 9;
+  fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[2] = NIT_NULL;
@@ -17501,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:1231 */
+  /* 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:1234 */
+  /* compiling/compiling_icode.nit:1256 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1235 */
-  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:1238 */
+  /* 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:1239 */
+  /* 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:1242 */
+  /* 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:1243 */
+  /* 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:1244 */
+  /* 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:1245 */
+  /* 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:1248 */
+  /* 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) {
@@ -17561,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:1249 */
+  /* 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");
@@ -17572,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:1250 */
+  /* 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:1252 */
+  /* 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:1253 */
+  /* 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);
@@ -17592,7 +17835,7 @@ val_t compiling___compiling_icode___IClosureDef___compile_closure(val_t p0, val_
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    /* ./compiling//compiling_icode.nit:1254 */
+    /* compiling/compiling_icode.nit:1276 */
     if (!once_value_5) {
       fra.me.REG[0] = BOX_NativeString("return;");
       REGB1 = TAG_Int(7);
@@ -17603,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:1256 */
+    /* 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) {
@@ -17628,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:1258 */
+  /* compiling/compiling_icode.nit:1280 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1259 */
+  /* compiling/compiling_icode.nit:1281 */
   if (!once_value_8) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB1 = TAG_Int(1);
@@ -17640,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:1262 */
+  /* 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:1263 */
+  /* 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:1264 */
+  /* 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:1265 */
+  /* 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:1266 */
+  /* 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) {