bench: split and specialize "options" benchs
[nit.git] / c_src / compiling___compiling_icode._sep.c
index e37c96d..b9d8cd0 100644 (file)
@@ -22,6 +22,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 +33,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,14 +47,14 @@ 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]);
@@ -71,17 +72,17 @@ 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 {
@@ -90,14 +91,14 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
         REGB1 = TAG_Bool(false);
         REGB0 = REGB1;
       } else {
-        /* ./../lib/standard//kernel.nit:210 */
+        /* ../lib/standard/kernel.nit:227 */
         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 +107,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,7 +153,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[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]);
@@ -162,7 +163,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0, val_
           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 +171,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 +201,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 +209,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 +240,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;
     }
@@ -262,16 +263,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,19 +283,20 @@ 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;
@@ -310,16 +313,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:235 */
   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 {
@@ -343,6 +347,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 +355,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 +364,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 +374,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 +399,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 +407,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;
   }
@@ -420,9 +425,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 {
@@ -442,9 +448,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 {
@@ -464,9 +471,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 {
@@ -485,11 +493,12 @@ 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;
@@ -504,9 +513,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 {
@@ -525,11 +535,12 @@ 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;
@@ -546,12 +557,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 +572,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 +583,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:235 */
     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 +602,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;
   }
@@ -610,13 +622,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 +638,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) {
@@ -677,6 +690,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 +698,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 +730,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 +763,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) {
@@ -794,9 +808,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 {
@@ -816,9 +831,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 {
@@ -838,10 +854,11 @@ 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;
@@ -856,9 +873,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 {
@@ -878,9 +896,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 {
@@ -899,9 +918,10 @@ 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];
@@ -915,11 +935,12 @@ 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;
@@ -933,11 +954,12 @@ 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;
@@ -957,17 +979,18 @@ 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 {
@@ -982,10 +1005,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);
@@ -995,7 +1018,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     } 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 */
+    /* 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);
@@ -1007,7 +1030,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     }
     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 */
+    /* compiling/compiling_icode.nit:173 */
     if (!once_value_2) {
       fra.me.REG[3] = BOX_NativeString(":");
       REGB0 = TAG_Int(1);
@@ -1017,7 +1040,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     } 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 */
+    /* 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);
@@ -1025,7 +1048,7 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
     fra.me.REG[2] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:175 */
+    /* compiling/compiling_icode.nit:175 */
     if (!once_value_3) {
       fra.me.REG[2] = BOX_NativeString(" */\n");
       REGB0 = TAG_Int(4);
@@ -1035,13 +1058,13 @@ val_t compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0){
     } 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 */
+    /* 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;
@@ -1058,11 +1081,12 @@ 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]);
   if (!once_value_1) {
@@ -1086,9 +1110,10 @@ 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;
@@ -1103,9 +1128,10 @@ 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;
@@ -1120,13 +1146,14 @@ 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;
@@ -1144,6 +1171,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,9 +1179,9 @@ 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 {
@@ -1186,9 +1214,9 @@ 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 {
@@ -1243,9 +1271,9 @@ 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:227 */
       REGB1 = TAG_Bool((REGB0)==(REGB1));
-      /* ./compiling//compiling_icode.nit:212 */
+      /* compiling/compiling_icode.nit:212 */
       REGB2 = REGB1;
     }
   } else {
@@ -1253,10 +1281,10 @@ void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0, v
     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);
@@ -1273,9 +1301,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 {
@@ -1296,6 +1325,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,11 +1334,11 @@ 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;
@@ -1369,6 +1399,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,11 +1418,11 @@ 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 {
@@ -1408,24 +1439,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:352 */
   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:232 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:352 */
     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 +1481,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,19 +1506,19 @@ 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:354 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:354 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:352 */
       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)) {
@@ -1503,7 +1534,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 +1544,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 +1552,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:352 */
     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:232 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:352 */
       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 +1599,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 +1612,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 +1624,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:352 */
         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:232 */
           REGB5 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
-          /* ./../lib/standard//kernel.nit:335 */
+          /* ../lib/standard/kernel.nit:352 */
           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 +1648,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:354 */
             REGB5 = TAG_Int(1);
-            /* ./../lib/standard//kernel.nit:218 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
-            /* ./../lib/standard//kernel.nit:337 */
+            /* ../lib/standard/kernel.nit:354 */
             REGB3 = REGB5;
           } else {
-            /* ./../lib/standard//kernel.nit:335 */
+            /* ../lib/standard/kernel.nit:352 */
             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,7 +1669,7 @@ 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)) {
@@ -1664,7 +1695,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 +1748,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 +1773,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,20 +1798,20 @@ 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:354 */
         REGB2 = TAG_Int(1);
-        /* ./../lib/standard//kernel.nit:218 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ./../lib/standard//kernel.nit:337 */
+        /* ../lib/standard/kernel.nit:354 */
         REGB0 = REGB2;
       } else {
-        /* ./../lib/standard//kernel.nit:335 */
+        /* ../lib/standard/kernel.nit:352 */
         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 {
@@ -1797,7 +1828,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,7 +1837,7 @@ 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)) {
@@ -1832,10 +1863,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 +1876,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,7 +1888,7 @@ 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 {
@@ -1906,7 +1937,7 @@ val_t compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0,
     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:271 */
+  /* compiling/compiling_icode.nit:271 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_32) {
@@ -1950,7 +1981,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:272 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_36) {
@@ -1994,7 +2025,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:273 */
   REGB0 = TAG_Int(7);
   fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_40) {
@@ -2038,9 +2069,9 @@ 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:274 */
   CALL_compiling___compiling_base___CompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:275 */
+  /* compiling/compiling_icode.nit:275 */
   goto label44;
   label44: while(0);
   stack_frame_head = fra.me.prev;
@@ -2068,33 +2099,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.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,9 +2141,9 @@ 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:282 */
   REGB0 = TAG_Int(0);
-  /* ./compiling//compiling_icode.nit:283 */
+  /* compiling/compiling_icode.nit:283 */
   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)) {
@@ -2126,7 +2159,7 @@ 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:284 */
     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)) {
@@ -2135,7 +2168,7 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
     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:287 */
   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 +2176,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:234 */
   REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
-  /* ./compiling//compiling_icode.nit:287 */
+  /* compiling/compiling_icode.nit:287 */
   if (UNTAG_Bool(REGB2)) {
-    /* ./compiling//compiling_icode.nit:288 */
+    /* compiling/compiling_icode.nit:288 */
     REGB2 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
     if (!once_value_1) {
@@ -2161,9 +2194,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:237 */
     REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
-    /* ./compiling//compiling_icode.nit:288 */
+    /* compiling/compiling_icode.nit:288 */
     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 +2211,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:290 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
       REGB1 = TAG_Int(38);
@@ -2189,7 +2222,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:292 */
   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 +2232,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:293 */
   REGB1 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_5) {
@@ -2226,7 +2259,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:294 */
   REGB1 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_7) {
@@ -2251,7 +2284,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:295 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_9) {
@@ -2276,7 +2309,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:296 */
   if (!once_value_11) {
     fra.me.REG[3] = BOX_NativeString("fra.me.has_broke = 0;");
     REGB0 = TAG_Int(21);
@@ -2286,7 +2319,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:297 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_12) {
@@ -2312,115 +2345,125 @@ 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:298 */
+  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:301 */
   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:352 */
   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:232 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:352 */
     if (UNTAG_Bool(REGB2)) {
-      /* ./compiling//compiling_icode.nit:300 */
+      /* compiling/compiling_icode.nit:301 */
       REGB2 = REGB0;
-      /* ./compiling//compiling_icode.nit:301 */
+      /* compiling/compiling_icode.nit:302 */
       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:354 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:354 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label16;
+      /* ../lib/standard/kernel.nit:352 */
+      goto label17;
     }
   }
-  label16: while(0);
-  /* ./compiling//compiling_icode.nit:303 */
+  label17: while(0);
+  /* compiling/compiling_icode.nit:304 */
   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:352 */
   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:232 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:352 */
     if (UNTAG_Bool(REGB2)) {
-      /* ./compiling//compiling_icode.nit:303 */
+      /* compiling/compiling_icode.nit:304 */
       REGB2 = REGB0;
-      /* ./compiling//compiling_icode.nit:304 */
+      /* compiling/compiling_icode.nit:305 */
       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:354 */
       REGB2 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:354 */
       REGB0 = REGB2;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label19;
+      /* ../lib/standard/kernel.nit:352 */
+      goto label20;
     }
   }
-  label19: while(0);
-  /* ./compiling//compiling_icode.nit:306 */
+  label20: while(0);
+  /* compiling/compiling_icode.nit:307 */
   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:308 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -2435,64 +2478,64 @@ 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:309 */
     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, 309);
     }
     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:310 */
+    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:311 */
+    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:313 */
   REGB0 = TAG_Int(0);
   fra.me.REG[4] = REGB0;
-  /* ./compiling//compiling_icode.nit:313 */
+  /* compiling/compiling_icode.nit:314 */
   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:318 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -2507,76 +2550,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:319 */
     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, 319);
     }
     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:352 */
     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:232 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-      /* ./../lib/standard//kernel.nit:335 */
+      /* ../lib/standard/kernel.nit:352 */
       if (UNTAG_Bool(REGB2)) {
-        /* ./compiling//compiling_icode.nit:318 */
+        /* compiling/compiling_icode.nit:319 */
         REGB2 = REGB0;
-        /* ./compiling//compiling_icode.nit:319 */
+        /* compiling/compiling_icode.nit:320 */
         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, 320);
         }
         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:321 */
         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:235 */
         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:233 */
         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,107 +2627,107 @@ 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:232 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB5 = TAG_Bool(false);
           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:321 */
         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:322 */
         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:323 */
         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:324 */
         fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
-        /* ./compiling//compiling_icode.nit:324 */
-        if (!once_value_30) {
+        /* compiling/compiling_icode.nit:325 */
+        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:326 */
         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:352 */
         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:232 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
-          /* ./../lib/standard//kernel.nit:335 */
+          /* ../lib/standard/kernel.nit:352 */
           if (UNTAG_Bool(REGB4)) {
-            /* ./compiling//compiling_icode.nit:326 */
-            if (!once_value_31) {
+            /* compiling/compiling_icode.nit:327 */
+            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:328 */
             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:354 */
             REGB4 = TAG_Int(1);
-            /* ./../lib/standard//kernel.nit:218 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB4 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
-            /* ./../lib/standard//kernel.nit:337 */
+            /* ../lib/standard/kernel.nit:354 */
             REGB2 = REGB4;
           } else {
-            /* ./../lib/standard//kernel.nit:335 */
-            goto label32;
+            /* ../lib/standard/kernel.nit:352 */
+            goto label33;
           }
         }
-        label32: while(0);
-        /* ./compiling//compiling_icode.nit:329 */
-        if (!once_value_33) {
+        label33: while(0);
+        /* compiling/compiling_icode.nit:330 */
+        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:331 */
         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)) {
@@ -2700,106 +2743,106 @@ 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:332 */
         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:354 */
         REGB2 = TAG_Int(1);
-        /* ./../lib/standard//kernel.nit:218 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-        /* ./../lib/standard//kernel.nit:337 */
+        /* ../lib/standard/kernel.nit:354 */
         REGB0 = REGB2;
       } else {
-        /* ./../lib/standard//kernel.nit:335 */
-        goto label39;
+        /* ../lib/standard/kernel.nit:352 */
+        goto label40;
       }
     }
-    label39: while(0);
+    label40: while(0);
   }
-  /* ./compiling//compiling_icode.nit:334 */
-  if (!once_value_40) {
+  /* compiling/compiling_icode.nit:335 */
+  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:338 */
   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:339 */
   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:342 */
   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:344 */
+  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:345 */
   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:346 */
   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:347 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -2814,19 +2857,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:348 */
     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:350 */
     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,13 +2882,14 @@ 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:315 */
     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)) {
@@ -2855,33 +2899,33 @@ val_t compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0, val
         REGB1 = TAG_Bool(false);
         REGB0 = REGB1;
       } else {
-        /* ./../lib/standard//kernel.nit:210 */
+        /* ../lib/standard/kernel.nit:227 */
         REGB1 = TAG_Bool((fra.me.REG[1])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:314 */
+        /* compiling/compiling_icode.nit:315 */
         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:233 */
       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,36 +2933,36 @@ 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:232 */
         REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB2 = TAG_Bool(false);
         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:315 */
       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:316 */
     REGB0 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:218 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB0 = TAG_Int(UNTAG_Int(closctx->REG[4])+UNTAG_Int(REGB0));
-    /* ./compiling//compiling_icode.nit:315 */
+    /* compiling/compiling_icode.nit:316 */
     closctx->REG[4] = REGB0;
     stack_frame_head = fra.me.prev;
     return;
@@ -2928,10 +2972,11 @@ val_t compiling___compiling_icode___IRoutine___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 = 353;
+  fra.me.line = 354;
   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,9 +2985,9 @@ 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:358 */
   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:359 */
   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);
@@ -2954,12 +2999,13 @@ void compiling___compiling_icode___ICode___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 = 363;
+  fra.me.line = 364;
   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:364 */
+  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 364);
   stack_frame_head = fra.me.prev;
   return;
 }
@@ -2970,15 +3016,16 @@ 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 = 367;
   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:370 */
   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:371 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -2995,7 +3042,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, 371);
     }
     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);
@@ -3006,9 +3053,9 @@ val_t compiling___compiling_icode___ICode___need_result(val_t p0){
         REGB1 = TAG_Bool(false);
         REGB0 = REGB1;
       } else {
-        /* ./../lib/standard//kernel.nit:210 */
+        /* ../lib/standard/kernel.nit:227 */
         REGB1 = TAG_Bool((fra.me.REG[0])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:370 */
+        /* compiling/compiling_icode.nit:371 */
         REGB0 = REGB1;
       }
     }
@@ -3032,10 +3079,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 = 374;
   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,9 +3092,9 @@ 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:377 */
   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:378 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3063,7 +3111,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, 378);
     }
     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);
@@ -3074,9 +3122,9 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
         REGB1 = TAG_Bool(false);
         REGB0 = REGB1;
       } else {
-        /* ./../lib/standard//kernel.nit:210 */
+        /* ../lib/standard/kernel.nit:227 */
         REGB1 = TAG_Bool((fra.me.REG[4])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:377 */
+        /* compiling/compiling_icode.nit:378 */
         REGB0 = REGB1;
       }
     }
@@ -3086,7 +3134,7 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:378 */
+    /* compiling/compiling_icode.nit:379 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
@@ -3102,14 +3150,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, 379);
     }
-    /* ./compiling//compiling_icode.nit:379 */
+    /* compiling/compiling_icode.nit:380 */
     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:381 */
     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 */
+    /* compiling/compiling_icode.nit:382 */
     if (!once_value_1) {
       fra.me.REG[3] = BOX_NativeString(" = ");
       REGB0 = TAG_Int(3);
@@ -3119,9 +3167,9 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
     } 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 */
+    /* compiling/compiling_icode.nit:383 */
     CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:383 */
+    /* compiling/compiling_icode.nit:384 */
     if (!once_value_2) {
       fra.me.REG[3] = BOX_NativeString(";\n");
       REGB0 = TAG_Int(2);
@@ -3132,7 +3180,7 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
     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]);
   } else {
-    /* ./compiling//compiling_icode.nit:384 */
+    /* compiling/compiling_icode.nit:385 */
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
@@ -3154,11 +3202,11 @@ void compiling___compiling_icode___ICode___store_result(val_t p0, val_t p1, val_
       REGB0 = REGB1;
     }
     if (UNTAG_Bool(REGB0)) {
-      /* ./compiling//compiling_icode.nit:387 */
+      /* compiling/compiling_icode.nit:388 */
       fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-      /* ./compiling//compiling_icode.nit:388 */
+      /* compiling/compiling_icode.nit:389 */
       CALL_compiling___compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-      /* ./compiling//compiling_icode.nit:389 */
+      /* compiling/compiling_icode.nit:390 */
       if (!once_value_3) {
         fra.me.REG[2] = BOX_NativeString(";\n");
         REGB0 = TAG_Int(2);
@@ -3182,17 +3230,18 @@ 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 = 394;
   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:398 */
   REGB0 = CALL_compiling___compiling_icode___ICode___need_result(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     REGB0 = TAG_Bool(true);
@@ -3203,13 +3252,13 @@ 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, 398);
   }
-  /* ./compiling//compiling_icode.nit:398 */
+  /* compiling/compiling_icode.nit:399 */
   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:400 */
   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:401 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3226,7 +3275,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, 401);
     }
     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);
@@ -3237,9 +3286,9 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
         REGB1 = TAG_Bool(false);
         REGB0 = REGB1;
       } else {
-        /* ./../lib/standard//kernel.nit:210 */
+        /* ../lib/standard/kernel.nit:227 */
         REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
-        /* ./compiling//compiling_icode.nit:400 */
+        /* compiling/compiling_icode.nit:401 */
         REGB0 = REGB1;
       }
     }
@@ -3249,10 +3298,10 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
-    /* ./compiling//compiling_icode.nit:401 */
+    /* compiling/compiling_icode.nit:402 */
     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 */
+    /* compiling/compiling_icode.nit:403 */
     if (!once_value_1) {
       fra.me.REG[0] = BOX_NativeString(" = ");
       REGB0 = TAG_Int(3);
@@ -3263,9 +3312,9 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
     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]);
   }
-  /* ./compiling//compiling_icode.nit:404 */
+  /* compiling/compiling_icode.nit:405 */
   fra.me.REG[0] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:405 */
+  /* compiling/compiling_icode.nit:406 */
   if (!once_value_2) {
     fra.me.REG[1] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -3275,7 +3324,7 @@ val_t compiling___compiling_icode___ICode___new_result(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:407 */
   goto label3;
   label3: while(0);
   stack_frame_head = fra.me.prev;
@@ -3288,25 +3337,26 @@ 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 = 412;
   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:414 */
   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:415 */
   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:416 */
   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:417 */
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3324,10 +3374,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:418 */
   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:421 */
   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,12 +3392,13 @@ 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:419 */
     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;
@@ -3362,22 +3413,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 = 426;
   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:428 */
   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:429 */
   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:430 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("if (UNTAG_Bool(");
     REGB0 = TAG_Int(15);
@@ -3387,11 +3439,11 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:431 */
   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 */
+  /* compiling/compiling_icode.nit:432 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString(")) {\n");
     REGB0 = TAG_Int(5);
@@ -3401,27 +3453,27 @@ void compiling___compiling_icode___IIf___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:433 */
   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:434 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:434 */
+    /* compiling/compiling_icode.nit:435 */
     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:436 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* ./compiling//compiling_icode.nit:437 */
+  /* compiling/compiling_icode.nit:438 */
   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:439 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("} else {");
       REGB0 = TAG_Int(8);
@@ -3431,15 +3483,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:440 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* ./compiling//compiling_icode.nit:440 */
+    /* compiling/compiling_icode.nit:441 */
     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:442 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* ./compiling//compiling_icode.nit:443 */
+  /* compiling/compiling_icode.nit:444 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3461,25 +3513,26 @@ 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 = 449;
   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:451 */
   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:452 */
   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:453 */
   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:454 */
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3497,7 +3550,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:455 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("while(1) {");
     REGB0 = TAG_Int(10);
@@ -3507,14 +3560,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:456 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:456 */
+  /* compiling/compiling_icode.nit:457 */
   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:460 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:460 */
+  /* compiling/compiling_icode.nit:461 */
   if (!once_value_3) {
     fra.me.REG[2] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -3524,7 +3577,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:462 */
   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,12 +3592,13 @@ 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:458 */
     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;
@@ -3554,19 +3608,20 @@ void compiling___compiling_icode___IEscape___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 = 466;
+  fra.me.line = 467;
   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:469 */
   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:470 */
   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]);
@@ -3598,10 +3653,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 = 475;
   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,21 +3670,21 @@ 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:475 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:476 */
+  /* compiling/compiling_icode.nit:477 */
   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:478 */
   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:481 */
   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:482 */
   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:483 */
   fra.me.REG[6] = NIT_NULL;
-  /* ./compiling//compiling_icode.nit:483 */
+  /* compiling/compiling_icode.nit:484 */
   REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3643,10 +3699,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:486 */
     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:487 */
       if (!once_value_1) {
         fra.me.REG[7] = BOX_NativeString("closctx");
         REGB0 = TAG_Int(7);
@@ -3657,7 +3713,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:489 */
       if (!once_value_2) {
         fra.me.REG[7] = BOX_NativeString("(&(fra.me))");
         REGB0 = TAG_Int(11);
@@ -3668,23 +3724,23 @@ 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:493 */
     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:496 */
     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:499 */
     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, 499);
     }
     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:510 */
   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:511 */
   fra.me.REG[5] = fra.me.REG[3];
-  /* ./compiling//compiling_icode.nit:513 */
+  /* compiling/compiling_icode.nit:514 */
   REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3699,20 +3755,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:515 */
     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:516 */
     CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-    /* ./compiling//compiling_icode.nit:517 */
-    REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
+    /* compiling/compiling_icode.nit:518 */
+    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:520 */
       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:521 */
       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:522 */
         if (!once_value_5) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3722,7 +3778,7 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:523 */
         if (!once_value_6) {
           fra.me.REG[8] = BOX_NativeString(" = ");
           REGB0 = TAG_Int(3);
@@ -3732,9 +3788,9 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:524 */
         CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-        /* ./compiling//compiling_icode.nit:524 */
+        /* compiling/compiling_icode.nit:525 */
         if (!once_value_7) {
           fra.me.REG[8] = BOX_NativeString(";\n");
           REGB0 = TAG_Int(2);
@@ -3744,10 +3800,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:526 */
         fra.me.REG[8] = NEW_Writer_compiling___compiling_writer___Writer___init();
         fra.me.REG[5] = fra.me.REG[8];
-        /* ./compiling//compiling_icode.nit:526 */
+        /* compiling/compiling_icode.nit:527 */
         if (!once_value_8) {
           fra.me.REG[8] = BOX_NativeString("tmp");
           REGB0 = TAG_Int(3);
@@ -3758,15 +3814,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, 527);
         }
         CALL_compiling___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:529 */
         fra.me.REG[5] = NIT_NULL;
-        /* ./compiling//compiling_icode.nit:529 */
+        /* compiling/compiling_icode.nit:530 */
         CALL_compiling___compiling_writer___Writer___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-        /* ./compiling//compiling_icode.nit:530 */
+        /* compiling/compiling_icode.nit:531 */
         if (!once_value_9) {
           fra.me.REG[3] = BOX_NativeString(";\n");
           REGB0 = TAG_Int(2);
@@ -3777,7 +3833,7 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         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:533 */
+      /* compiling/compiling_icode.nit:534 */
       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 (");
@@ -3798,9 +3854,9 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
       } 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 */
+      /* compiling/compiling_icode.nit:535 */
       CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-      /* ./compiling//compiling_icode.nit:536 */
+      /* compiling/compiling_icode.nit:537 */
       if (!once_value_12) {
         fra.me.REG[3] = BOX_NativeString("case 0: break;");
         REGB0 = TAG_Int(14);
@@ -3810,22 +3866,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:538 */
       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 */
+      /* compiling/compiling_icode.nit:539 */
+      fra.me.REG[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[7])(fra.me.REG[7]);
+      /* compiling/compiling_icode.nit:540 */
       REGB0 = TAG_Bool(false);
-      /* ./compiling//compiling_icode.nit:540 */
+      /* compiling/compiling_icode.nit:541 */
       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:542 */
           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:543 */
           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:546 */
             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 ");
@@ -3836,10 +3892,10 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
             } 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[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, 546);
             }
             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]);
@@ -3874,29 +3930,29 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
             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]);
           } else {
-            /* ./compiling//compiling_icode.nit:548 */
+            /* compiling/compiling_icode.nit:549 */
             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, 549);
             }
-            /* ./compiling//compiling_icode.nit:549 */
+            /* compiling/compiling_icode.nit:550 */
             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 */
+            /* compiling/compiling_icode.nit:551 */
             REGB1 = TAG_Bool(true);
             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:553 */
+          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:541 */
           goto label17;
         }
       }
       label17: while(0);
-      /* ./compiling//compiling_icode.nit:555 */
+      /* compiling/compiling_icode.nit:556 */
       if (UNTAG_Bool(REGB0)) {
-        /* ./compiling//compiling_icode.nit:558 */
+        /* compiling/compiling_icode.nit:559 */
         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 ");
@@ -3911,7 +3967,7 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         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, 559);
         }
         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]);
@@ -3925,9 +3981,9 @@ void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0, val_t p1){
         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]);
       }
-      /* ./compiling//compiling_icode.nit:560 */
+      /* compiling/compiling_icode.nit:561 */
       CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-      /* ./compiling//compiling_icode.nit:561 */
+      /* compiling/compiling_icode.nit:562 */
       if (!once_value_20) {
         fra.me.REG[6] = BOX_NativeString("}");
         REGB0 = TAG_Int(1);
@@ -3939,7 +3995,7 @@ 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:566 */
   REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -3954,9 +4010,9 @@ 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:567 */
     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 */
+    /* compiling/compiling_icode.nit:568 */
     CALL_compiling___compiling_writer___Writer___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
   }
   stack_frame_head = fra.me.prev;
@@ -3975,12 +4031,13 @@ 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:500 */
       REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
       } else {
@@ -3995,16 +4052,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:501 */
         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, 501);
         }
         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:502 */
         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:504 */
         if (!once_value_4) {
           fra.me.REG[0] = BOX_NativeString("NULL");
           REGB0 = TAG_Int(4);
@@ -4023,289 +4080,317 @@ val_t compiling___compiling_icode___IAbsCall___compile_call_to_c(val_t p0, val_t
   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 = 572;
   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:572 */
+  nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_icode, 572);
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
 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 = 577;
   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 */
+  /* compiling/compiling_icode.nit:579 */
   fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:579 */
+  /* compiling/compiling_icode.nit:583 */
+  REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
+  if (UNTAG_Bool(REGB0)) {
+    fra.me.REG[3] = fra.me.REG[1];
+    goto label1;
+  }
+  /* compiling/compiling_icode.nit:585 */
   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:586 */
+  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:587 */
   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) {
+  /* compiling/compiling_icode.nit:588 */
+  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 */
+  /* compiling/compiling_icode.nit:589 */
+  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
+  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:590 */
   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___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:591 */
   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_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:592 */
+  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___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);
+  /* compiling/compiling_icode.nit:593 */
+  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];
 }
 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 = 598;
   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:602 */
+  REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
+  if (UNTAG_Bool(REGB0)) {
+    fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
+    goto label1;
+  }
+  /* compiling/compiling_icode.nit:604 */
   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:605 */
+  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:606 */
+  fra.me.REG[3] = NEW_Writer_compiling___compiling_writer___Writer___init();
+  /* compiling/compiling_icode.nit:607 */
   fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:598 */
-  if (!once_value_2) {
+  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:608 */
+  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___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:609 */
+  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
+  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:610 */
   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___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:611 */
   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___compiling_writer___Writer___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:612 */
+  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___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
+  /* compiling/compiling_icode.nit:613 */
+  fra.me.REG[1] = fra.me.REG[3];
+  goto label1;
+  label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
 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 = 618;
   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 */
+  /* compiling/compiling_icode.nit:620 */
   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:624 */
+  REGB0 = CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra.me.REG[0])(fra.me.REG[0]);
+  if (UNTAG_Bool(REGB0)) {
+    fra.me.REG[3] = fra.me.REG[1];
+    goto label1;
+  }
+  /* compiling/compiling_icode.nit:626 */
   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___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:627 */
+  fra.me.REG[4] = CALL_icode___icode_base___INew___stype(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[4] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[4])(fra.me.REG[4]);
+  fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
+  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:628 */
+  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___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:629 */
   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) {
+  /* compiling/compiling_icode.nit:630 */
+  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;
+    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(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:616 */
-  if (!once_value_4) {
+  /* compiling/compiling_icode.nit:631 */
+  if (!once_value_5) {
     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;
+    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_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
-  /* ./compiling//compiling_icode.nit:617 */
-  if (!once_value_5) {
+  /* compiling/compiling_icode.nit:632 */
+  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_5 = fra.me.REG[0];
-    register_static_object(&once_value_5);
-  } else fra.me.REG[0] = once_value_5;
+    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___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);
+  /* compiling/compiling_icode.nit:633 */
+  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];
 }
 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;
@@ -4315,21 +4400,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 = 638;
   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:640 */
   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:641 */
   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:642 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("NEW_");
     REGB0 = TAG_Int(4);
@@ -4339,12 +4425,12 @@ void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0, va
   } 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 */
+  /* compiling/compiling_icode.nit:643 */
   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 */
+  /* compiling/compiling_icode.nit:644 */
   if (!once_value_2) {
     fra.me.REG[0] = BOX_NativeString("()");
     REGB0 = TAG_Int(2);
@@ -4366,22 +4452,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 = 649;
   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:651 */
   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:652 */
   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:653 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("CHECKNEW_");
     REGB0 = TAG_Int(9);
@@ -4391,12 +4478,12 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
   } 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 */
+  /* compiling/compiling_icode.nit:654 */
   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 */
+  /* compiling/compiling_icode.nit:655 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4406,11 +4493,11 @@ void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0, val_t
   } 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 */
+  /* compiling/compiling_icode.nit:656 */
   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 */
+  /* compiling/compiling_icode.nit:657 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4432,22 +4519,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 = 662;
   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:664 */
   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:665 */
   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:666 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("INIT_ATTRIBUTES__");
     REGB0 = TAG_Int(17);
@@ -4457,12 +4545,12 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
   } 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 */
+  /* compiling/compiling_icode.nit:667 */
   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 */
+  /* compiling/compiling_icode.nit:668 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4472,11 +4560,11 @@ void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0, val_
   } 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 */
+  /* compiling/compiling_icode.nit:669 */
   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 */
+  /* compiling/compiling_icode.nit:670 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(");\n");
     REGB0 = TAG_Int(3);
@@ -4499,19 +4587,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 = 675;
   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:677 */
   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:678 */
   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 +4614,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 */
+  /* compiling/compiling_icode.nit:679 */
   fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:665 */
+  /* compiling/compiling_icode.nit:680 */
   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 */
+  /* compiling/compiling_icode.nit:681 */
   if (!once_value_2) {
     fra.me.REG[0] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -4541,7 +4630,7 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
   } 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 */
+  /* compiling/compiling_icode.nit:682 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(", ");
     REGB0 = TAG_Int(2);
@@ -4551,7 +4640,7 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
   } 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 */
+  /* compiling/compiling_icode.nit:683 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -4561,7 +4650,7 @@ val_t compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0, va
   } 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 */
+  /* compiling/compiling_icode.nit:684 */
   goto label5;
   label5: while(0);
   stack_frame_head = fra.me.prev;
@@ -4573,49 +4662,60 @@ void compiling___compiling_icode___INative___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 = 674;
+  fra.me.line = 689;
   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:691 */
   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:692 */
   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:693 */
     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:694 */
+    fra.me.REG[2] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
+    fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
+    REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
+    REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+    if (UNTAG_Bool(REGB0)) {
+      /* compiling/compiling_icode.nit:695 */
+      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;
 }
 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 = 699;
   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,258 +4723,251 @@ 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:701 */
+  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:703 */
+  fra.me.REG[4] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[4])(fra.me.REG[4]);
+  /* compiling/compiling_icode.nit:704 */
+  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, 704);
   }
-  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:235 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* ./compiling//compiling_icode.nit:688 */
+  /* compiling/compiling_icode.nit:704 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ./../lib/standard//kernel.nit:210 */
+    /* ../lib/standard/kernel.nit:227 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* ./compiling//compiling_icode.nit:688 */
+    /* compiling/compiling_icode.nit:704 */
     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, 704);
   }
-  /* ./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:706 */
+  fra.me.REG[3] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+  /* compiling/compiling_icode.nit:708 */
   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:709 */
   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:233 */
   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:232 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
   } else {
-    /* ./../lib/standard//collection//array.nit:243 */
+    /* ../lib/standard/collection/array.nit:280 */
     REGB0 = TAG_Bool(false);
     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:709 */
+  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
+  /* compiling/compiling_icode.nit:710 */
   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, 710);
   }
-  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:352 */
   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:232 */
     REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
-    /* ./../lib/standard//kernel.nit:335 */
+    /* ../lib/standard/kernel.nit:352 */
     if (UNTAG_Bool(REGB0)) {
-      /* ./compiling//compiling_icode.nit:694 */
+      /* compiling/compiling_icode.nit:710 */
       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:711 */
       REGB3 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:235 */
       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:233 */
       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:232 */
         REGB0 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB0));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB4 = TAG_Bool(false);
         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:711 */
+      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+      /* ../lib/standard/kernel.nit:354 */
       REGB3 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:218 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
-      /* ./../lib/standard//kernel.nit:337 */
+      /* ../lib/standard/kernel.nit:354 */
       REGB1 = REGB3;
     } else {
-      /* ./../lib/standard//kernel.nit:335 */
-      goto label3;
+      /* ../lib/standard/kernel.nit:352 */
+      goto label5;
     }
   }
-  label3: while(0);
-  /* ./compiling//compiling_icode.nit:697 */
+  label5: while(0);
+  /* compiling/compiling_icode.nit:713 */
   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:715 */
+  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:716 */
+  fra.me.REG[1] = CALL_compiling___compiling_icode___ICode___new_result(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+  /* compiling/compiling_icode.nit:717 */
+  CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   stack_frame_head = fra.me.prev;
   return;
 }
@@ -5207,17 +5300,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 +5330,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 = 720;
   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 +5358,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:722 */
   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:723 */
   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, 723);
   }
   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:235 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-  /* ./compiling//compiling_icode.nit:707 */
+  /* compiling/compiling_icode.nit:723 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ./../lib/standard//kernel.nit:210 */
+    /* ../lib/standard/kernel.nit:227 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
-    /* ./compiling//compiling_icode.nit:707 */
+    /* compiling/compiling_icode.nit:723 */
     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, 723);
   }
-  /* ./compiling//compiling_icode.nit:708 */
+  /* 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___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:725 */
   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:726 */
   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:727 */
   fra.me.REG[5] = NIT_NULL;
-  /* ./compiling//compiling_icode.nit:712 */
+  /* compiling/compiling_icode.nit:728 */
   if (!once_value_1) {
     if (!once_value_2) {
       fra.me.REG[6] = BOX_NativeString("Int");
@@ -5320,7 +5419,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:729 */
     if (!once_value_3) {
       if (!once_value_4) {
         fra.me.REG[6] = BOX_NativeString("object_id");
@@ -5342,25 +5441,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:730 */
       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:233 */
       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 +5467,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:232 */
         REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
       } else {
-        /* ./../lib/standard//collection//array.nit:243 */
+        /* ../lib/standard/collection/array.nit:280 */
         REGB0 = TAG_Bool(false);
         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:730 */
       fra.me.REG[5] = fra.me.REG[6];
     } else {
-      /* ./compiling//compiling_icode.nit:715 */
+      /* compiling/compiling_icode.nit:731 */
       if (!once_value_6) {
         if (!once_value_7) {
           fra.me.REG[6] = BOX_NativeString("unary -");
@@ -5415,7 +5514,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:732 */
         REGB1 = TAG_Int(3);
         fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
         if (!once_value_8) {
@@ -5428,23 +5527,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:233 */
         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 +5551,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:232 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB0 = TAG_Bool(false);
           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:732 */
         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 +5587,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:733 */
         if (!once_value_11) {
           if (!once_value_12) {
             fra.me.REG[6] = BOX_NativeString("output");
@@ -5510,7 +5609,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:734 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_13) {
@@ -5523,23 +5622,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:233 */
           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 +5646,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:232 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB0 = TAG_Bool(false);
             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:734 */
           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 +5682,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:735 */
           if (!once_value_16) {
             if (!once_value_17) {
               fra.me.REG[6] = BOX_NativeString("ascii");
@@ -5605,7 +5704,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:736 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_18) {
@@ -5618,23 +5717,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:233 */
             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 +5741,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:232 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB0 = TAG_Bool(false);
               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:736 */
             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 +5777,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:737 */
             if (!once_value_21) {
               if (!once_value_22) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -5700,7 +5799,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:738 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_23) {
@@ -5713,23 +5812,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:233 */
               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 +5836,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:738 */
               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 +5872,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:739 */
               if (!once_value_26) {
                if (!once_value_27) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -5795,7 +5894,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:740 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_28) {
@@ -5808,23 +5907,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:233 */
                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 +5931,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:740 */
                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 +5967,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:741 */
                if (!once_value_31) {
                if (!once_value_32) {
                fra.me.REG[6] = BOX_NativeString("to_f");
@@ -5890,7 +5989,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:742 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_33) {
@@ -5903,23 +6002,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:233 */
                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 +6026,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:742 */
                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 +6062,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:743 */
                if (!once_value_36) {
                if (!once_value_37) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -5985,7 +6084,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:744 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_38) {
@@ -5998,23 +6097,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:233 */
                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 +6121,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:744 */
                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 +6155,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:233 */
                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 +6179,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:744 */
                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 +6215,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:745 */
                if (!once_value_43) {
                if (!once_value_44) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -6138,7 +6237,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:746 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_45) {
@@ -6151,23 +6250,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:233 */
                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 +6274,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:746 */
                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 +6308,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:233 */
                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 +6332,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:746 */
                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 +6368,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:747 */
                if (!once_value_50) {
                if (!once_value_51) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -6291,7 +6390,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:748 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_52) {
@@ -6304,23 +6403,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:233 */
                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 +6427,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:748 */
                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 +6461,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:233 */
                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 +6485,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:748 */
                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 +6521,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:749 */
                if (!once_value_57) {
                if (!once_value_58) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -6444,7 +6543,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:750 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_59) {
@@ -6457,23 +6556,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:233 */
                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 +6580,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:750 */
                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 +6614,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:233 */
                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 +6638,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:750 */
                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 +6674,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:751 */
                if (!once_value_64) {
                if (!once_value_65) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -6597,7 +6696,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:752 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_66) {
@@ -6610,23 +6709,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:233 */
                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 +6733,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:752 */
                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 +6767,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:233 */
                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 +6791,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:752 */
                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 +6827,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:753 */
                if (!once_value_71) {
                if (!once_value_72) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -6750,7 +6849,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:754 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_73) {
@@ -6763,23 +6862,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:233 */
                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 +6886,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:754 */
                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 +6920,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:233 */
                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 +6944,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:754 */
                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 +6980,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:755 */
                if (!once_value_78) {
                if (!once_value_79) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -6903,7 +7002,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:756 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_80) {
@@ -6916,23 +7015,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:233 */
                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 +7039,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:756 */
                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 +7073,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:233 */
                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 +7097,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:756 */
                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 +7133,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:757 */
                if (!once_value_85) {
                if (!once_value_86) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -7056,7 +7155,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:758 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_87) {
@@ -7069,23 +7168,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:233 */
                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 +7192,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:758 */
                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 +7226,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:233 */
                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 +7250,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:758 */
                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 +7286,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:759 */
                if (!once_value_92) {
                if (!once_value_93) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -7209,7 +7308,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:760 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_94) {
@@ -7222,23 +7321,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:233 */
                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 +7345,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:760 */
                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 +7379,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:233 */
                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 +7403,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:760 */
                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 +7439,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:761 */
                if (!once_value_99) {
                if (!once_value_100) {
                fra.me.REG[6] = BOX_NativeString("lshift");
@@ -7362,7 +7461,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:762 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_101) {
@@ -7375,23 +7474,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:233 */
                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 +7498,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:762 */
                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 +7532,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:233 */
                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 +7556,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:762 */
                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 +7592,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:763 */
                if (!once_value_106) {
                if (!once_value_107) {
                fra.me.REG[6] = BOX_NativeString("rshift");
@@ -7515,7 +7614,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:764 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_108) {
@@ -7528,23 +7627,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:233 */
                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 +7651,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:764 */
                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 +7685,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:233 */
                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 +7709,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:764 */
                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 +7745,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:765 */
                if (!once_value_113) {
                if (!once_value_114) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -7668,7 +7767,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:766 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_115) {
@@ -7681,23 +7780,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:233 */
                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 +7804,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:766 */
                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 +7838,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:233 */
                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 +7862,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:766 */
                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 +7898,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:767 */
                if (!once_value_120) {
                if (!once_value_121) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -7821,7 +7920,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:768 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_122) {
@@ -7834,23 +7933,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:233 */
                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 +7957,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:768 */
                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 +7991,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:233 */
                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 +8015,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:768 */
                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 +8071,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   } else {
-    /* ./compiling//compiling_icode.nit:754 */
+    /* compiling/compiling_icode.nit:770 */
     if (!once_value_127) {
       if (!once_value_128) {
         fra.me.REG[6] = BOX_NativeString("Float");
@@ -7994,7 +8093,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:771 */
       if (!once_value_129) {
         if (!once_value_130) {
           fra.me.REG[6] = BOX_NativeString("object_id");
@@ -8016,7 +8115,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:772 */
         REGB1 = TAG_Int(3);
         fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
         if (!once_value_131) {
@@ -8029,23 +8128,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:233 */
         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 +8152,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:232 */
           REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
         } else {
-          /* ./../lib/standard//collection//array.nit:243 */
+          /* ../lib/standard/collection/array.nit:280 */
           REGB0 = TAG_Bool(false);
           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:772 */
         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 +8188,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:773 */
         if (!once_value_134) {
           if (!once_value_135) {
             fra.me.REG[6] = BOX_NativeString("unary -");
@@ -8111,7 +8210,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:774 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_136) {
@@ -8124,23 +8223,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:233 */
           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 +8247,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:232 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB0 = TAG_Bool(false);
             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:774 */
           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 +8283,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:775 */
           if (!once_value_139) {
             if (!once_value_140) {
               fra.me.REG[6] = BOX_NativeString("output");
@@ -8206,7 +8305,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:776 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_141) {
@@ -8219,23 +8318,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:233 */
             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 +8342,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:232 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB0 = TAG_Bool(false);
               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:776 */
             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 +8378,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:777 */
             if (!once_value_144) {
               if (!once_value_145) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -8301,7 +8400,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:778 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_146) {
@@ -8314,23 +8413,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:233 */
               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 +8437,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:778 */
               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 +8473,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:779 */
               if (!once_value_149) {
                if (!once_value_150) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -8396,7 +8495,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:780 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_151) {
@@ -8409,23 +8508,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:233 */
                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 +8532,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:780 */
                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 +8566,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:233 */
                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 +8590,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:780 */
                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 +8626,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:781 */
                if (!once_value_156) {
                if (!once_value_157) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -8549,7 +8648,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:782 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_158) {
@@ -8562,23 +8661,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:233 */
                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 +8685,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:782 */
                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 +8719,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:233 */
                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 +8743,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:782 */
                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 +8779,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:783 */
                if (!once_value_163) {
                if (!once_value_164) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -8702,7 +8801,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:784 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_165) {
@@ -8715,23 +8814,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:233 */
                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 +8838,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:784 */
                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 +8872,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:233 */
                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 +8896,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:784 */
                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 +8932,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:785 */
                if (!once_value_170) {
                if (!once_value_171) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -8855,7 +8954,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:786 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_172) {
@@ -8868,23 +8967,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:233 */
                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 +8991,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:786 */
                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 +9025,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:233 */
                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 +9049,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:786 */
                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 +9085,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:787 */
                if (!once_value_177) {
                if (!once_value_178) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -9008,7 +9107,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:788 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_179) {
@@ -9021,23 +9120,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:233 */
                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 +9144,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:788 */
                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 +9178,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:233 */
                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 +9202,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:788 */
                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 +9238,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:789 */
                if (!once_value_184) {
                if (!once_value_185) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -9161,7 +9260,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:790 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_186) {
@@ -9174,23 +9273,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:233 */
                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 +9297,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:790 */
                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 +9331,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:233 */
                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 +9355,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:790 */
                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 +9391,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:791 */
                if (!once_value_191) {
                if (!once_value_192) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -9314,7 +9413,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:792 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_193) {
@@ -9327,23 +9426,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:233 */
                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 +9450,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:792 */
                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 +9484,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:233 */
                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 +9508,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:792 */
                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 +9544,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:793 */
                if (!once_value_198) {
                if (!once_value_199) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -9467,7 +9566,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:794 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_200) {
@@ -9480,23 +9579,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:233 */
                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 +9603,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:794 */
                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 +9637,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:233 */
                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 +9661,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:794 */
                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 +9709,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
         }
       }
     } else {
-      /* ./compiling//compiling_icode.nit:780 */
+      /* compiling/compiling_icode.nit:796 */
       if (!once_value_205) {
         if (!once_value_206) {
           fra.me.REG[6] = BOX_NativeString("Char");
@@ -9632,7 +9731,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:797 */
         if (!once_value_207) {
           if (!once_value_208) {
             fra.me.REG[6] = BOX_NativeString("object_id");
@@ -9654,7 +9753,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:798 */
           REGB1 = TAG_Int(3);
           fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
           if (!once_value_209) {
@@ -9667,23 +9766,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:233 */
           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 +9790,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:232 */
             REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
           } else {
-            /* ./../lib/standard//collection//array.nit:243 */
+            /* ../lib/standard/collection/array.nit:280 */
             REGB0 = TAG_Bool(false);
             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:798 */
           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 +9826,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:799 */
           if (!once_value_212) {
             if (!once_value_213) {
               fra.me.REG[6] = BOX_NativeString("unary -");
@@ -9749,7 +9848,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:800 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_214) {
@@ -9762,23 +9861,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:233 */
             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 +9885,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:232 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB0 = TAG_Bool(false);
               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:800 */
             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 +9921,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:801 */
             if (!once_value_217) {
               if (!once_value_218) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -9844,7 +9943,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:802 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_219) {
@@ -9857,23 +9956,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:233 */
               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 +9980,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:802 */
               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 +10016,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:803 */
               if (!once_value_222) {
                if (!once_value_223) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -9939,7 +10038,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:804 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_224) {
@@ -9952,23 +10051,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:233 */
                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 +10075,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:804 */
                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 +10111,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:805 */
                if (!once_value_227) {
                if (!once_value_228) {
                fra.me.REG[6] = BOX_NativeString("succ");
@@ -10034,7 +10133,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:806 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_229) {
@@ -10047,23 +10146,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:233 */
                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 +10170,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:806 */
                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 +10206,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:807 */
                if (!once_value_232) {
                if (!once_value_233) {
                fra.me.REG[6] = BOX_NativeString("prec");
@@ -10129,7 +10228,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:808 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_234) {
@@ -10142,23 +10241,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:233 */
                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 +10265,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:808 */
                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 +10301,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:809 */
                if (!once_value_237) {
                if (!once_value_238) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -10224,7 +10323,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:810 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_239) {
@@ -10237,23 +10336,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:233 */
                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 +10360,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:810 */
                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 +10396,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:811 */
                if (!once_value_242) {
                if (!once_value_243) {
                fra.me.REG[6] = BOX_NativeString("+");
@@ -10319,7 +10418,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:812 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_244) {
@@ -10332,23 +10431,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:233 */
                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 +10455,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:812 */
                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 +10489,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:233 */
                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 +10513,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:812 */
                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 +10549,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:813 */
                if (!once_value_249) {
                if (!once_value_250) {
                fra.me.REG[6] = BOX_NativeString("-");
@@ -10472,7 +10571,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:814 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_251) {
@@ -10485,23 +10584,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:233 */
                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 +10608,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:814 */
                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 +10642,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:233 */
                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 +10666,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:814 */
                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 +10702,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:815 */
                if (!once_value_256) {
                if (!once_value_257) {
                fra.me.REG[6] = BOX_NativeString("*");
@@ -10625,7 +10724,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:816 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_258) {
@@ -10638,23 +10737,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:233 */
                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 +10761,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:816 */
                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 +10795,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:233 */
                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 +10819,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:816 */
                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 +10855,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:817 */
                if (!once_value_263) {
                if (!once_value_264) {
                fra.me.REG[6] = BOX_NativeString("/");
@@ -10778,7 +10877,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:818 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_265) {
@@ -10791,23 +10890,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:233 */
                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 +10914,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:818 */
                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 +10948,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:233 */
                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 +10972,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:818 */
                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 +11008,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:819 */
                if (!once_value_270) {
                if (!once_value_271) {
                fra.me.REG[6] = BOX_NativeString("%");
@@ -10931,7 +11030,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:820 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_272) {
@@ -10944,23 +11043,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:233 */
                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 +11067,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:820 */
                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 +11101,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:233 */
                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 +11125,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:820 */
                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 +11161,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:821 */
                if (!once_value_277) {
                if (!once_value_278) {
                fra.me.REG[6] = BOX_NativeString("<");
@@ -11084,7 +11183,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:822 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_279) {
@@ -11097,23 +11196,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:233 */
                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 +11220,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:822 */
                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 +11254,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:233 */
                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 +11278,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:822 */
                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 +11314,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:823 */
                if (!once_value_284) {
                if (!once_value_285) {
                fra.me.REG[6] = BOX_NativeString(">");
@@ -11237,7 +11336,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:824 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_286) {
@@ -11250,23 +11349,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:233 */
                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 +11373,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:824 */
                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 +11407,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:233 */
                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 +11431,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:824 */
                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 +11467,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:825 */
                if (!once_value_291) {
                if (!once_value_292) {
                fra.me.REG[6] = BOX_NativeString("<=");
@@ -11390,7 +11489,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:826 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_293) {
@@ -11403,23 +11502,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:233 */
                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 +11526,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:826 */
                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 +11560,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:233 */
                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 +11584,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:826 */
                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 +11620,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:827 */
                if (!once_value_298) {
                if (!once_value_299) {
                fra.me.REG[6] = BOX_NativeString(">=");
@@ -11543,7 +11642,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:828 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_300) {
@@ -11556,23 +11655,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:233 */
                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 +11679,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:828 */
                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 +11713,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:233 */
                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 +11737,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:828 */
                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 +11773,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:829 */
                if (!once_value_305) {
                if (!once_value_306) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -11696,7 +11795,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:830 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_307) {
@@ -11709,23 +11808,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:233 */
                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 +11832,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:830 */
                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 +11866,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:233 */
                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 +11890,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:830 */
                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 +11926,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:831 */
                if (!once_value_312) {
                if (!once_value_313) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -11849,7 +11948,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:832 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_314) {
@@ -11862,23 +11961,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:233 */
                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 +11985,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:832 */
                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 +12019,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:233 */
                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 +12043,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:832 */
                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 +12097,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
           }
         }
       } else {
-        /* ./compiling//compiling_icode.nit:818 */
+        /* compiling/compiling_icode.nit:834 */
         if (!once_value_319) {
           if (!once_value_320) {
             fra.me.REG[6] = BOX_NativeString("Bool");
@@ -12020,7 +12119,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:835 */
           if (!once_value_321) {
             if (!once_value_322) {
               fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12042,7 +12141,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:836 */
             REGB1 = TAG_Int(3);
             fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
             if (!once_value_323) {
@@ -12055,23 +12154,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:233 */
             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 +12178,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:232 */
               REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
             } else {
-              /* ./../lib/standard//collection//array.nit:243 */
+              /* ../lib/standard/collection/array.nit:280 */
               REGB0 = TAG_Bool(false);
               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:836 */
             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 +12214,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:837 */
             if (!once_value_326) {
               if (!once_value_327) {
                fra.me.REG[6] = BOX_NativeString("unary -");
@@ -12137,7 +12236,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:838 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_328) {
@@ -12150,23 +12249,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:233 */
               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 +12273,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:838 */
               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 +12309,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:839 */
               if (!once_value_331) {
                if (!once_value_332) {
                fra.me.REG[6] = BOX_NativeString("output");
@@ -12232,7 +12331,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:840 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_333) {
@@ -12245,23 +12344,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:233 */
                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 +12368,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:840 */
                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 +12404,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:841 */
                if (!once_value_336) {
                if (!once_value_337) {
                fra.me.REG[6] = BOX_NativeString("ascii");
@@ -12327,7 +12426,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:842 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_338) {
@@ -12340,23 +12439,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:233 */
                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 +12463,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:842 */
                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 +12499,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:843 */
                if (!once_value_341) {
                if (!once_value_342) {
                fra.me.REG[6] = BOX_NativeString("to_i");
@@ -12422,7 +12521,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:844 */
                REGB1 = TAG_Int(3);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_343) {
@@ -12435,23 +12534,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:233 */
                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 +12558,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:844 */
                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 +12594,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:845 */
                if (!once_value_346) {
                if (!once_value_347) {
                fra.me.REG[6] = BOX_NativeString("==");
@@ -12517,7 +12616,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:846 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_348) {
@@ -12530,23 +12629,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:233 */
                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 +12653,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:846 */
                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 +12687,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:233 */
                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 +12711,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:846 */
                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 +12747,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:847 */
                if (!once_value_353) {
                if (!once_value_354) {
                fra.me.REG[6] = BOX_NativeString("!=");
@@ -12670,7 +12769,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:848 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_355) {
@@ -12683,23 +12782,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:233 */
                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 +12806,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:848 */
                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 +12840,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:233 */
                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 +12864,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:848 */
                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 +12907,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
             }
           }
         } else {
-          /* ./compiling//compiling_icode.nit:834 */
+          /* compiling/compiling_icode.nit:850 */
           if (!once_value_360) {
             if (!once_value_361) {
               fra.me.REG[6] = BOX_NativeString("NativeArray");
@@ -12830,7 +12929,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:851 */
             if (!once_value_362) {
               if (!once_value_363) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -12852,7 +12951,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:852 */
               REGB1 = TAG_Int(3);
               fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
               if (!once_value_364) {
@@ -12865,23 +12964,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:233 */
               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 +12988,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
               } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:852 */
               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 +13024,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:853 */
               if (!once_value_367) {
                if (!once_value_368) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -12947,7 +13046,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:854 */
                REGB1 = TAG_Int(5);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_369) {
@@ -12960,23 +13059,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:233 */
                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 +13083,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:854 */
                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 +13117,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:233 */
                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 +13141,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:854 */
                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 +13177,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:855 */
                if (!once_value_374) {
                if (!once_value_375) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13100,7 +13199,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:856 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_376) {
@@ -13113,23 +13212,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:233 */
                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 +13236,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:856 */
                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 +13270,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:233 */
                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 +13294,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:856 */
                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 +13328,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:233 */
                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 +13352,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:856 */
                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 +13388,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:857 */
                if (!once_value_383) {
                if (!once_value_384) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -13311,7 +13410,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:858 */
                REGB1 = TAG_Int(7);
                fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
                if (!once_value_385) {
@@ -13324,23 +13423,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:233 */
                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 +13447,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:858 */
                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 +13481,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:233 */
                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 +13505,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:858 */
                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 +13539,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:233 */
                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 +13563,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:858 */
                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 +13603,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
               }
             }
           } else {
-            /* ./compiling//compiling_icode.nit:844 */
+            /* compiling/compiling_icode.nit:860 */
             if (!once_value_392) {
               if (!once_value_393) {
                fra.me.REG[6] = BOX_NativeString("NativeString");
@@ -13526,7 +13625,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:861 */
               if (!once_value_394) {
                if (!once_value_395) {
                fra.me.REG[6] = BOX_NativeString("object_id");
@@ -13548,80 +13647,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:862 */
                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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:862 */
+               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:863 */
                if (!once_value_399) {
                if (!once_value_400) {
                fra.me.REG[6] = BOX_NativeString("atoi");
@@ -13643,80 +13742,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:864 */
                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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:864 */
+               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:865 */
                if (!once_value_404) {
                if (!once_value_405) {
                fra.me.REG[6] = BOX_NativeString("[]");
@@ -13738,138 +13837,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:866 */
                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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:866 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:866 */
+               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:867 */
                if (!once_value_411) {
                if (!once_value_412) {
                fra.me.REG[6] = BOX_NativeString("[]=");
@@ -13891,196 +13990,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:868 */
                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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:868 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:868 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:868 */
+               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:869 */
                if (!once_value_420) {
                if (!once_value_421) {
                fra.me.REG[6] = BOX_NativeString("copy_to");
@@ -14102,308 +14201,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:870 */
                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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:870 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:870 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:870 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:870 */
+               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:233 */
                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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:870 */
+               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,11 +14511,11 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                }
               }
             } else {
-              /* ./compiling//compiling_icode.nit:856 */
+              /* compiling/compiling_icode.nit:872 */
               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);
@@ -14427,43 +14526,99 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                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:873 */
+               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_standard___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:874 */
+               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:876 */
+               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_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] = 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:877 */
                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:233 */
                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 +14626,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:877 */
                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:878 */
+               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;
+               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 +14684,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:879 */
+               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:880 */
+               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;
+               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 +14717,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:881 */
                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:233 */
                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 +14754,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:881 */
                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:233 */
                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 +14812,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:881 */
                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:882 */
+               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;
+               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 +14870,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:883 */
                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:233 */
                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 +14907,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:883 */
                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:884 */
+               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;
+               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 +14965,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:885 */
                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:233 */
                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 +15002,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:885 */
                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:886 */
+               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;
+               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 +15060,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:887 */
                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:233 */
                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 +15097,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:887 */
                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:889 */
+               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;
+               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 +15155,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:890 */
                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:233 */
                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 +15192,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:890 */
                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:892 */
+               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;
+               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 +15250,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:893 */
                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:233 */
                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 +15285,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:232 */
                REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
                } else {
-               /* ./../lib/standard//collection//array.nit:243 */
+               /* ../lib/standard/collection/array.nit:280 */
                REGB0 = TAG_Bool(false);
                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:893 */
                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 +15327,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
                }
                }
                }
+               }
               }
             }
           }
@@ -15179,7 +15335,7 @@ void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
       }
     }
   }
-  /* ./compiling//compiling_icode.nit:876 */
+  /* compiling/compiling_icode.nit:896 */
   REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
@@ -15193,9 +15349,9 @@ 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:897 */
     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:898 */
     REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
@@ -15212,81 +15368,81 @@ 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, 898);
       }
       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:899 */
     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:900 */
+    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:901 */
+    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:903 */
   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)) {
@@ -15301,25 +15457,25 @@ 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:904 */
     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) {
+    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]);
   } else {
-    /* ./compiling//compiling_icode.nit:885 */
+    /* compiling/compiling_icode.nit:905 */
     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:906 */
       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 */
+      /* compiling/compiling_icode.nit:907 */
       CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
     }
   }
@@ -15334,21 +15490,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 = 913;
   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:915 */
   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:916 */
   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:917 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Int(");
     REGB0 = TAG_Int(8);
@@ -15383,21 +15540,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 = 922;
   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:924 */
   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:925 */
   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:926 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -15407,7 +15565,7 @@ void compiling___compiling_icode___IBoolValue___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_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:907 */
+  /* compiling/compiling_icode.nit:927 */
   REGB0 = CALL_icode___icode_base___IBoolValue___value(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     if (!once_value_2) {
@@ -15430,7 +15588,7 @@ void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0, val_t p1)
     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:908 */
+  /* compiling/compiling_icode.nit:928 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15451,21 +15609,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 = 933;
   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:935 */
   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:936 */
   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:937 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("TAG_Char(");
     REGB0 = TAG_Int(9);
@@ -15497,21 +15656,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 = 942;
   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:944 */
   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:945 */
   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:946 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_Float(");
     REGB0 = TAG_Int(10);
@@ -15543,21 +15703,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 = 951;
   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:953 */
   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:954 */
   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:955 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("BOX_NativeString(\"");
     REGB0 = TAG_Int(18);
@@ -15597,21 +15758,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 = 960;
   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:962 */
   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:963 */
   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:964 */
   if (!once_value_1) {
     fra.me.REG[2] = BOX_NativeString("nit_abort(\"");
     REGB0 = TAG_Int(11);
@@ -15621,24 +15783,24 @@ void compiling___compiling_icode___IAbort___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_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:945 */
+  /* compiling/compiling_icode.nit:965 */
   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:233 */
   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 +15808,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:232 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
   } else {
-    /* ./../lib/standard//collection//array.nit:243 */
+    /* ../lib/standard/collection/array.nit:280 */
     REGB2 = TAG_Bool(false);
     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 */
+  /* compiling/compiling_icode.nit:965 */
   CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* ./compiling//compiling_icode.nit:946 */
+  /* compiling/compiling_icode.nit:966 */
   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:966 */
   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:234 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* ./compiling//compiling_icode.nit:946 */
+  /* compiling/compiling_icode.nit:966 */
   if (UNTAG_Bool(REGB1)) {
-    /* ./compiling//compiling_icode.nit:947 */
+    /* compiling/compiling_icode.nit:967 */
     if (!once_value_3) {
       fra.me.REG[2] = BOX_NativeString("\", \"");
       REGB1 = TAG_Int(4);
@@ -15700,24 +15862,24 @@ void compiling___compiling_icode___IAbort___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_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:948 */
+    /* compiling/compiling_icode.nit:968 */
     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:233 */
     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 +15887,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:232 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
     } else {
-      /* ./../lib/standard//collection//array.nit:243 */
+      /* ../lib/standard/collection/array.nit:280 */
       REGB2 = TAG_Bool(false);
       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 */
+    /* compiling/compiling_icode.nit:968 */
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:949 */
+    /* compiling/compiling_icode.nit:969 */
     if (!once_value_5) {
       fra.me.REG[2] = BOX_NativeString("\"");
       REGB1 = TAG_Int(1);
@@ -15760,7 +15922,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     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]);
   } else {
-    /* ./compiling//compiling_icode.nit:951 */
+    /* compiling/compiling_icode.nit:971 */
     if (!once_value_6) {
       fra.me.REG[2] = BOX_NativeString("\", NULL");
       REGB1 = TAG_Int(7);
@@ -15771,7 +15933,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     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:953 */
+  /* compiling/compiling_icode.nit:973 */
   if (!once_value_7) {
     fra.me.REG[2] = BOX_NativeString(", LOCATE_");
     REGB1 = TAG_Int(9);
@@ -15781,13 +15943,13 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:974 */
   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 */
+  /* compiling/compiling_icode.nit:975 */
   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:976 */
   REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
@@ -15802,7 +15964,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:977 */
     if (!once_value_8) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB1 = TAG_Int(2);
@@ -15812,16 +15974,16 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     } 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 */
+    /* compiling/compiling_icode.nit:978 */
     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, 978);
     }
     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]);
   } else {
-    /* ./compiling//compiling_icode.nit:960 */
+    /* compiling/compiling_icode.nit:980 */
     if (!once_value_9) {
       fra.me.REG[0] = BOX_NativeString(", 0");
       REGB1 = TAG_Int(3);
@@ -15832,7 +15994,7 @@ void compiling___compiling_icode___IAbort___compile_to_c(val_t p0, val_t p1){
     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:962 */
+  /* compiling/compiling_icode.nit:982 */
   if (!once_value_10) {
     fra.me.REG[0] = BOX_NativeString(");\n");
     REGB1 = TAG_Int(3);
@@ -15854,10 +16016,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 = 987;
   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 +16028,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:987 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:969 */
+  /* compiling/compiling_icode.nit:989 */
   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:990 */
   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:991 */
   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, 991);
   }
   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:992 */
   REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[4]));
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -15894,14 +16057,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:993 */
   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:994 */
   fra.me.REG[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:975 */
+  /* compiling/compiling_icode.nit:995 */
   CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* ./compiling//compiling_icode.nit:976 */
+  /* compiling/compiling_icode.nit:996 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString(" = ");
     REGB0 = TAG_Int(3);
@@ -15911,9 +16074,9 @@ void compiling___compiling_icode___IMove___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:997 */
   CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* ./compiling//compiling_icode.nit:978 */
+  /* compiling/compiling_icode.nit:998 */
   if (!once_value_3) {
     fra.me.REG[3] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -15935,33 +16098,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 = 1003;
   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:1005 */
   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:1006 */
   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:1007 */
   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:1008 */
   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 */
+  /* compiling/compiling_icode.nit:1009 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -15971,11 +16135,11 @@ void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:1010 */
   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 */
+  /* compiling/compiling_icode.nit:1011 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(")");
     REGB0 = TAG_Int(1);
@@ -15998,28 +16162,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 = 1016;
   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:1018 */
   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:1019 */
   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:1020 */
   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:1021 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16029,12 +16194,12 @@ void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0, val_t p1)
   } 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 */
+  /* compiling/compiling_icode.nit:1022 */
   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 */
+  /* compiling/compiling_icode.nit:1023 */
   if (!once_value_3) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -16044,11 +16209,11 @@ void compiling___compiling_icode___IAttrIsset___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_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* ./compiling//compiling_icode.nit:1004 */
+  /* compiling/compiling_icode.nit:1024 */
   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 */
+  /* compiling/compiling_icode.nit:1025 */
   if (!once_value_4) {
     fra.me.REG[0] = BOX_NativeString(")!=NIT_NULL)");
     REGB0 = TAG_Int(12);
@@ -16071,27 +16236,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 = 1030;
   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:1032 */
   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:1033 */
   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:1034 */
   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 */
+  /* compiling/compiling_icode.nit:1035 */
   if (!once_value_1) {
     fra.me.REG[3] = BOX_NativeString("(");
     REGB0 = TAG_Int(1);
@@ -16101,11 +16267,11 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
   } 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 */
+  /* compiling/compiling_icode.nit:1036 */
   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 */
+  /* compiling/compiling_icode.nit:1037 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString(") = ");
     REGB0 = TAG_Int(4);
@@ -16115,11 +16281,11 @@ void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0, val_t p1)
   } 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 */
+  /* compiling/compiling_icode.nit:1038 */
   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 */
+  /* compiling/compiling_icode.nit:1039 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString(";\n");
     REGB0 = TAG_Int(2);
@@ -16159,10 +16325,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 = 1044;
   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 +16338,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:1046 */
   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:1047 */
   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:1048 */
   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:1049 */
   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:1050 */
   if (!once_value_2) {
     fra.me.REG[4] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16195,16 +16362,16 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
   } 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 */
+  /* compiling/compiling_icode.nit:1051 */
   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:1052 */
     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:1053 */
       if (!once_value_3) {
         fra.me.REG[4] = BOX_NativeString("(");
         REGB0 = TAG_Int(1);
@@ -16214,9 +16381,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       } 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 */
+      /* compiling/compiling_icode.nit:1054 */
       CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-      /* ./compiling//compiling_icode.nit:1035 */
+      /* compiling/compiling_icode.nit:1055 */
       if (!once_value_4) {
         fra.me.REG[4] = BOX_NativeString("==NIT_NULL) || ");
         REGB0 = TAG_Int(15);
@@ -16227,7 +16394,7 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       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]);
     } else {
-      /* ./compiling//compiling_icode.nit:1036 */
+      /* compiling/compiling_icode.nit:1056 */
       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 +16406,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 */
+        /* compiling/compiling_icode.nit:1057 */
         CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* ./compiling//compiling_icode.nit:1038 */
+        /* compiling/compiling_icode.nit:1058 */
         if (!once_value_5) {
           fra.me.REG[5] = BOX_NativeString("!=NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16251,10 +16418,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
         } 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 */
+        /* compiling/compiling_icode.nit:1059 */
         goto label1;
       } else {
-        /* ./compiling//compiling_icode.nit:1041 */
+        /* compiling/compiling_icode.nit:1061 */
         if (!once_value_6) {
           fra.me.REG[5] = BOX_NativeString("(");
           REGB0 = TAG_Int(1);
@@ -16264,9 +16431,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
         } 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 */
+        /* compiling/compiling_icode.nit:1062 */
         CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-        /* ./compiling//compiling_icode.nit:1043 */
+        /* compiling/compiling_icode.nit:1063 */
         if (!once_value_7) {
           fra.me.REG[5] = BOX_NativeString("!=NIT_NULL) && ");
           REGB0 = TAG_Int(15);
@@ -16279,18 +16446,18 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
       }
     }
   }
-  /* ./compiling//compiling_icode.nit:1047 */
+  /* compiling/compiling_icode.nit:1067 */
   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:1068 */
   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:1069 */
     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:1070 */
     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:1071 */
     if (!once_value_8) {
       fra.me.REG[4] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16300,9 +16467,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1072 */
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:1053 */
+    /* compiling/compiling_icode.nit:1073 */
     if (!once_value_9) {
       fra.me.REG[4] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16312,10 +16479,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1074 */
     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 */
+    /* compiling/compiling_icode.nit:1075 */
     if (!once_value_10) {
       fra.me.REG[4] = BOX_NativeString("(");
       REGB0 = TAG_Int(1);
@@ -16325,9 +16492,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1076 */
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* ./compiling//compiling_icode.nit:1057 */
+    /* compiling/compiling_icode.nit:1077 */
     if (!once_value_11) {
       fra.me.REG[4] = BOX_NativeString(")");
       REGB0 = TAG_Int(1);
@@ -16337,7 +16504,7 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1078 */
     if (!once_value_12) {
       fra.me.REG[4] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16347,10 +16514,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1079 */
     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 */
+    /* compiling/compiling_icode.nit:1080 */
     if (!once_value_13) {
       fra.me.REG[1] = BOX_NativeString("(");
       REGB0 = TAG_Int(1);
@@ -16360,9 +16527,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1081 */
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-    /* ./compiling//compiling_icode.nit:1062 */
+    /* compiling/compiling_icode.nit:1082 */
     if (!once_value_14) {
       fra.me.REG[0] = BOX_NativeString(")");
       REGB0 = TAG_Int(1);
@@ -16372,7 +16539,7 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1083 */
     if (!once_value_15) {
       fra.me.REG[0] = BOX_NativeString(")) /*cast ");
       REGB0 = TAG_Int(10);
@@ -16382,10 +16549,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1084 */
     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 */
+    /* compiling/compiling_icode.nit:1085 */
     if (!once_value_16) {
       fra.me.REG[0] = BOX_NativeString("*/");
       REGB0 = TAG_Int(2);
@@ -16396,10 +16563,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     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]);
   } else {
-    /* ./compiling//compiling_icode.nit:1067 */
+    /* compiling/compiling_icode.nit:1087 */
     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:1088 */
     if (!once_value_17) {
       fra.me.REG[1] = BOX_NativeString("VAL_ISA(");
       REGB0 = TAG_Int(8);
@@ -16409,9 +16576,9 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1089 */
     CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-    /* ./compiling//compiling_icode.nit:1070 */
+    /* compiling/compiling_icode.nit:1090 */
     if (!once_value_18) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16421,10 +16588,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1091 */
     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 */
+    /* compiling/compiling_icode.nit:1092 */
     if (!once_value_19) {
       fra.me.REG[2] = BOX_NativeString(", ");
       REGB0 = TAG_Int(2);
@@ -16434,10 +16601,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1093 */
     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 */
+    /* compiling/compiling_icode.nit:1094 */
     if (!once_value_20) {
       fra.me.REG[0] = BOX_NativeString(")) /*cast ");
       REGB0 = TAG_Int(10);
@@ -16447,10 +16614,10 @@ void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0, val_t p1)
     } 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 */
+    /* compiling/compiling_icode.nit:1095 */
     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 */
+    /* compiling/compiling_icode.nit:1096 */
     if (!once_value_21) {
       fra.me.REG[5] = BOX_NativeString("*/");
       REGB0 = TAG_Int(2);
@@ -16485,10 +16652,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 = 1102;
   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 +16665,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:1104 */
   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:1105 */
   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:1106 */
   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:1107 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -16518,19 +16686,19 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:1108 */
   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:1109 */
   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:1110 */
   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:1111 */
     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:1112 */
       if (!once_value_3) {
         fra.me.REG[5] = BOX_NativeString("1)");
         REGB0 = TAG_Int(2);
@@ -16540,17 +16708,17 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
       } 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 */
+      /* compiling/compiling_icode.nit:1113 */
       goto label1;
     } else {
-      /* ./compiling//compiling_icode.nit:1094 */
+      /* compiling/compiling_icode.nit:1114 */
       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:1115 */
         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 */
+        /* compiling/compiling_icode.nit:1116 */
         if (!once_value_4) {
           fra.me.REG[5] = BOX_NativeString("==NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16560,10 +16728,10 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:1117 */
         goto label1;
       } else {
-        /* ./compiling//compiling_icode.nit:1099 */
+        /* compiling/compiling_icode.nit:1119 */
         if (!once_value_5) {
           fra.me.REG[5] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16573,22 +16741,22 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:1120 */
         goto label1;
       }
     }
   } else {
-    /* ./compiling//compiling_icode.nit:1102 */
+    /* compiling/compiling_icode.nit:1122 */
     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:1123 */
       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:1124 */
         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 */
+        /* compiling/compiling_icode.nit:1125 */
         if (!once_value_6) {
           fra.me.REG[3] = BOX_NativeString("==NIT_NULL)");
           REGB0 = TAG_Int(11);
@@ -16598,13 +16766,13 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:1126 */
         goto label1;
       } else {
-        /* ./compiling//compiling_icode.nit:1107 */
+        /* compiling/compiling_icode.nit:1127 */
         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:1128 */
           if (!once_value_7) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_NN(");
             REGB0 = TAG_Int(12);
@@ -16615,7 +16783,7 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           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]);
         } else {
-          /* ./compiling//compiling_icode.nit:1110 */
+          /* compiling/compiling_icode.nit:1130 */
           if (!once_value_8) {
             fra.me.REG[3] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16625,11 +16793,11 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           } 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 */
+          /* compiling/compiling_icode.nit:1131 */
           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 */
+          /* compiling/compiling_icode.nit:1132 */
           if (!once_value_9) {
             fra.me.REG[3] = BOX_NativeString(",");
             REGB0 = TAG_Int(1);
@@ -16639,11 +16807,11 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           } 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 */
+          /* compiling/compiling_icode.nit:1133 */
           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 */
+          /* compiling/compiling_icode.nit:1134 */
           if (!once_value_10) {
             fra.me.REG[3] = BOX_NativeString("))");
             REGB0 = TAG_Int(2);
@@ -16653,15 +16821,15 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           } 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 */
+          /* compiling/compiling_icode.nit:1135 */
           goto label1;
         }
       }
     } else {
-      /* ./compiling//compiling_icode.nit:1118 */
+      /* compiling/compiling_icode.nit:1138 */
       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:1139 */
         if (!once_value_11) {
           fra.me.REG[3] = BOX_NativeString("0)");
           REGB0 = TAG_Int(2);
@@ -16671,13 +16839,13 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
         } 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 */
+        /* compiling/compiling_icode.nit:1140 */
         goto label1;
       } else {
-        /* ./compiling//compiling_icode.nit:1121 */
+        /* compiling/compiling_icode.nit:1141 */
         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:1142 */
           if (!once_value_12) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_ON(");
             REGB0 = TAG_Int(12);
@@ -16688,7 +16856,7 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
           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]);
         } else {
-          /* ./compiling//compiling_icode.nit:1124 */
+          /* compiling/compiling_icode.nit:1144 */
           if (!once_value_13) {
             fra.me.REG[4] = BOX_NativeString("IS_EQUAL_OO(");
             REGB0 = TAG_Int(12);
@@ -16702,11 +16870,11 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
       }
     }
   }
-  /* ./compiling//compiling_icode.nit:1127 */
+  /* compiling/compiling_icode.nit:1147 */
   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 */
+  /* compiling/compiling_icode.nit:1148 */
   if (!once_value_14) {
     fra.me.REG[4] = BOX_NativeString(",");
     REGB0 = TAG_Int(1);
@@ -16716,11 +16884,11 @@ void compiling___compiling_icode___IIs___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:1149 */
   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 */
+  /* compiling/compiling_icode.nit:1150 */
   if (!once_value_15) {
     fra.me.REG[0] = BOX_NativeString("))");
     REGB0 = TAG_Int(2);
@@ -16742,28 +16910,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 = 1155;
   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:1157 */
   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:1158 */
   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:1159 */
   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:1160 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
     REGB0 = TAG_Int(21);
@@ -16773,11 +16942,11 @@ void compiling___compiling_icode___INot___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:1161 */
   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 */
+  /* compiling/compiling_icode.nit:1162 */
   if (!once_value_3) {
     fra.me.REG[0] = BOX_NativeString("))");
     REGB0 = TAG_Int(2);
@@ -16817,10 +16986,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 = 1167;
   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 +16999,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:1167 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ./compiling//compiling_icode.nit:1149 */
+  /* compiling/compiling_icode.nit:1169 */
   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:1170 */
   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:1171 */
   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, 1171);
   }
-  /* ./compiling//compiling_icode.nit:1152 */
+  /* compiling/compiling_icode.nit:1172 */
   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:1173 */
     REGB1 = TAG_Int(5);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_1) {
@@ -16883,7 +17053,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:1174 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_4) {
@@ -16909,7 +17079,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:1177 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_6) {
@@ -16934,7 +17104,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:1178 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_8) {
@@ -16960,14 +17130,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:1180 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1161 */
+  /* compiling/compiling_icode.nit:1181 */
   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:1182 */
   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:1183 */
   REGB1 = TAG_Int(5);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_10) {
@@ -17002,7 +17172,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:1184 */
   REGB1 = TAG_Int(3);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_13) {
@@ -17027,7 +17197,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:1185 */
   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 +17226,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:1186 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1167 */
+  /* compiling/compiling_icode.nit:1187 */
   REGB1 = TAG_Int(5);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_17) {
@@ -17093,9 +17263,9 @@ 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:1188 */
   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 */
+  /* compiling/compiling_icode.nit:1189 */
   CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
@@ -17121,10 +17291,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 = 1194;
   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 +17305,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:1196 */
   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:1199 */
   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:1200 */
     REGB0 = TAG_Int(3);
     fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_1) {
@@ -17166,7 +17337,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:1201 */
     REGB0 = TAG_Int(1);
     fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_3) {
@@ -17179,7 +17350,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:1203 */
     REGB0 = TAG_Int(3);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_4) {
@@ -17206,7 +17377,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:1204 */
     REGB0 = TAG_Int(1);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_6) {
@@ -17220,11 +17391,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:1206 */
   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:1208 */
   REGB0 = TAG_Int(7);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_7) {
@@ -17279,13 +17450,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 */
+  /* compiling/compiling_icode.nit:1209 */
   fra.me.REG[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
-  /* ./compiling//compiling_icode.nit:1190 */
+  /* compiling/compiling_icode.nit:1210 */
   CALL_compiling___compiling_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* ./compiling//compiling_icode.nit:1191 */
+  /* compiling/compiling_icode.nit:1211 */
   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:1214 */
   REGB0 = TAG_Int(3);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_12) {
@@ -17310,11 +17481,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[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:1215 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1196 */
+  /* compiling/compiling_icode.nit:1216 */
   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:1217 */
   REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
@@ -17329,20 +17500,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:1218 */
     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, 1218);
     }
     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:1220 */
   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:1221 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1202 */
+  /* compiling/compiling_icode.nit:1222 */
   if (!once_value_14) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB0 = TAG_Int(1);
@@ -17367,10 +17538,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 = 1227;
   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 +17550,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:1229 */
   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:1230 */
   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:1231 */
   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:1232 */
   if (!once_value_2) {
     fra.me.REG[3] = BOX_NativeString("TAG_Bool(");
     REGB0 = TAG_Int(9);
@@ -17399,10 +17571,10 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
   } 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 */
+  /* compiling/compiling_icode.nit:1233 */
   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:1234 */
     if (!once_value_3) {
       fra.me.REG[3] = BOX_NativeString("closctx->closure_funs[");
       REGB0 = TAG_Int(22);
@@ -17412,12 +17584,12 @@ void compiling___compiling_icode___IHasClos___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_writer___Writer___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-    /* ./compiling//compiling_icode.nit:1215 */
+    /* compiling/compiling_icode.nit:1235 */
     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 */
+    /* compiling/compiling_icode.nit:1236 */
     if (!once_value_4) {
       fra.me.REG[4] = BOX_NativeString("]");
       REGB0 = TAG_Int(1);
@@ -17428,7 +17600,7 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
     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]);
   } else {
-    /* ./compiling//compiling_icode.nit:1218 */
+    /* compiling/compiling_icode.nit:1238 */
     if (!once_value_5) {
       fra.me.REG[4] = BOX_NativeString("CREG[");
       REGB0 = TAG_Int(5);
@@ -17438,12 +17610,12 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
     } 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 */
+    /* compiling/compiling_icode.nit:1239 */
     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 */
+    /* compiling/compiling_icode.nit:1240 */
     if (!once_value_6) {
       fra.me.REG[0] = BOX_NativeString("]");
       REGB0 = TAG_Int(1);
@@ -17454,7 +17626,7 @@ void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0, val_t p1){
     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]);
   }
-  /* ./compiling//compiling_icode.nit:1222 */
+  /* compiling/compiling_icode.nit:1242 */
   if (!once_value_7) {
     fra.me.REG[0] = BOX_NativeString(" != NULL)");
     REGB0 = TAG_Int(9);
@@ -17486,10 +17658,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 = 1247;
   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 +17674,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:1251 */
   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:1254 */
   REGB0 = CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1235 */
+  /* compiling/compiling_icode.nit:1255 */
   REGB1 = TAG_Bool(true);
   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:1258 */
   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:1259 */
   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:1262 */
   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:1263 */
   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:1264 */
   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]);
   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:1265 */
   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]);
   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:1268 */
   REGB1 = TAG_Int(5);
   fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_1) {
@@ -17561,7 +17734,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:1269 */
   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,13 +17745,13 @@ 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:1270 */
   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]);
   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:1272 */
   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:1273 */
   REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
@@ -17592,7 +17765,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:1274 */
     if (!once_value_5) {
       fra.me.REG[0] = BOX_NativeString("return;");
       REGB1 = TAG_Int(7);
@@ -17603,7 +17776,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:1276 */
     REGB1 = TAG_Int(3);
     fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_6) {
@@ -17628,9 +17801,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:1278 */
   CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./compiling//compiling_icode.nit:1259 */
+  /* compiling/compiling_icode.nit:1279 */
   if (!once_value_8) {
     fra.me.REG[0] = BOX_NativeString("}");
     REGB1 = TAG_Int(1);
@@ -17640,15 +17813,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:1282 */
   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:1283 */
   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:1284 */
   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:1285 */
   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:1286 */
   REGB0 = TAG_Int(3);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   if (!once_value_9) {