c_src: regenerate
[nit.git] / c_src / nitc__toolcontext.sep.1.c
similarity index 54%
rename from c_src/nit__toolcontext.sep.1.c
rename to c_src/nitc__toolcontext.sep.1.c
index 34863d2..3f0bd8f 100644 (file)
@@ -1,40 +1,40 @@
-#include "nit__toolcontext.sep.0.h"
+#include "nitc__toolcontext.sep.0.h"
 /* method toolcontext#Message#location for (self: Message): nullable Location */
-val* nit___nit__Message___location(val* self) {
+val* nitc___nitc__Message___location(val* self) {
 val* var /* : nullable Location */;
 val* var1 /* : nullable Location */;
-var1 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var1 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#location= for (self: Message, nullable Location) */
-void nit___nit__Message___location_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__Message___location].val = p0; /* _location on <self:Message> */
+void nitc___nitc__Message___location_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__Message___location].val = p0; /* _location on <self:Message> */
 RET_LABEL:;
 }
 /* method toolcontext#Message#tag for (self: Message): nullable String */
-val* nit___nit__Message___tag(val* self) {
+val* nitc___nitc__Message___tag(val* self) {
 val* var /* : nullable String */;
 val* var1 /* : nullable String */;
-var1 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on <self:Message> */
+var1 = self->attrs[COLOR_nitc__toolcontext__Message___tag].val; /* _tag on <self:Message> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#tag= for (self: Message, nullable String) */
-void nit___nit__Message___tag_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__Message___tag].val = p0; /* _tag on <self:Message> */
+void nitc___nitc__Message___tag_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__Message___tag].val = p0; /* _tag on <self:Message> */
 RET_LABEL:;
 }
 /* method toolcontext#Message#text for (self: Message): String */
-val* nit___nit__Message___text(val* self) {
+val* nitc___nitc__Message___text(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var1 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var = var1;
@@ -42,12 +42,12 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#text= for (self: Message, String) */
-void nit___nit__Message___text_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__Message___text].val = p0; /* _text on <self:Message> */
+void nitc___nitc__Message___text_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__Message___text].val = p0; /* _text on <self:Message> */
 RET_LABEL:;
 }
 /* method toolcontext#Message#< for (self: Message, Message): Bool */
-short int nit___nit__Message___standard__kernel__Comparable___60d(val* self, val* p0) {
+short int nitc___nitc__Message___core__kernel__Comparable___60d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -70,7 +70,7 @@ val* var17 /* : nullable Location */;
 short int var18 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Message> isa OTHER */
 /* <p0:Message> isa OTHER */
-type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = self->type->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= p0->type->table_size) {
@@ -81,13 +81,13 @@ var1 = p0->type->type_table[cltype] == idtype;
 if (unlikely(!var1)) {
 var_class_name = p0 == NULL ? "null" : p0->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 61);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 61);
 fatal_exit(1);
 }
 var_other = p0;
 {
 { /* Inline toolcontext#Message#location (self) on <self:Message> */
-var4 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var4 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var2 = var4;
 RET_LABEL3:(void)0;
 }
@@ -98,7 +98,7 @@ var5 = 1; /* is null */
 var5 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var6 = nit___nit__Location___standard__kernel__Object___61d_61d(var2, ((val*)NULL));
+var6 = nitc___nitc__Location___core__kernel__Object___61d_61d(var2, ((val*)NULL));
 var5 = var6;
 }
 if (var5){
@@ -108,7 +108,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#Message#location (var_other) on <var_other:Message> */
-var9 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <var_other:Message> */
+var9 = var_other->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <var_other:Message> */
 var7 = var9;
 RET_LABEL8:(void)0;
 }
@@ -119,7 +119,7 @@ var10 = 1; /* is null */
 var10 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var11 = nit___nit__Location___standard__kernel__Object___61d_61d(var7, ((val*)NULL));
+var11 = nitc___nitc__Location___core__kernel__Object___61d_61d(var7, ((val*)NULL));
 var10 = var11;
 }
 if (var10){
@@ -129,30 +129,30 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#Message#location (self) on <self:Message> */
-var14 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var14 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var12 = var14;
 RET_LABEL13:(void)0;
 }
 }
 if (unlikely(var12 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 66);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 66);
 fatal_exit(1);
 }
 {
 { /* Inline toolcontext#Message#location (var_other) on <var_other:Message> */
-var17 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <var_other:Message> */
+var17 = var_other->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <var_other:Message> */
 var15 = var17;
 RET_LABEL16:(void)0;
 }
 }
 if (unlikely(var15 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 66);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 66);
 fatal_exit(1);
 }
 {
-var18 = nit___nit__Location___standard__kernel__Comparable___60d(var12, var15);
+var18 = nitc___nitc__Location___core__kernel__Comparable___60d(var12, var15);
 }
 var = var18;
 goto RET_LABEL;
@@ -160,7 +160,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#== for (self: Message, nullable Object): Bool */
-short int nit___nit__Message___standard__kernel__Object___61d_61d(val* self, val* p0) {
+short int nitc___nitc__Message___core__kernel__Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var1 /* : Bool */;
@@ -190,8 +190,8 @@ val* var27 /* : String */;
 short int var28 /* : Bool */;
 var_other = p0;
 /* <var_other:nullable Object> isa Message */
-cltype = type_nit__Message.color;
-idtype = type_nit__Message.id;
+cltype = type_nitc__Message.color;
+idtype = type_nitc__Message.id;
 if(var_other == NULL) {
 var1 = 0;
 } else {
@@ -209,14 +209,14 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#Message#location (self) on <self:Message> */
-var7 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var7 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var5 = var7;
 RET_LABEL6:(void)0;
 }
 }
 {
 { /* Inline toolcontext#Message#location (var_other) on <var_other:nullable Object(Message)> */
-var10 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <var_other:nullable Object(Message)> */
+var10 = var_other->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <var_other:nullable Object(Message)> */
 var8 = var10;
 RET_LABEL9:(void)0;
 }
@@ -224,21 +224,21 @@ RET_LABEL9:(void)0;
 if (var5 == NULL) {
 var11 = (var8 == NULL);
 } else {
-var12 = nit___nit__Location___standard__kernel__Object___61d_61d(var5, var8);
+var12 = nitc___nitc__Location___core__kernel__Object___61d_61d(var5, var8);
 var11 = var12;
 }
 var_ = var11;
 if (var11){
 {
 { /* Inline toolcontext#Message#tag (self) on <self:Message> */
-var15 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on <self:Message> */
+var15 = self->attrs[COLOR_nitc__toolcontext__Message___tag].val; /* _tag on <self:Message> */
 var13 = var15;
 RET_LABEL14:(void)0;
 }
 }
 {
 { /* Inline toolcontext#Message#tag (var_other) on <var_other:nullable Object(Message)> */
-var18 = var_other->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on <var_other:nullable Object(Message)> */
+var18 = var_other->attrs[COLOR_nitc__toolcontext__Message___tag].val; /* _tag on <var_other:nullable Object(Message)> */
 var16 = var18;
 RET_LABEL17:(void)0;
 }
@@ -246,7 +246,7 @@ RET_LABEL17:(void)0;
 if (var13 == NULL) {
 var19 = (var16 == NULL);
 } else {
-var20 = ((short int(*)(val* self, val* p0))(var13->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var13, var16); /* == on <var13:nullable String>*/
+var20 = ((short int(*)(val* self, val* p0))(var13->class->vft[COLOR_core__kernel__Object___61d_61d]))(var13, var16); /* == on <var13:nullable String>*/
 var19 = var20;
 }
 var4 = var19;
@@ -257,10 +257,10 @@ var_21 = var4;
 if (var4){
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var24 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var24 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var24 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var22 = var24;
@@ -269,10 +269,10 @@ RET_LABEL23:(void)0;
 }
 {
 { /* Inline toolcontext#Message#text (var_other) on <var_other:nullable Object(Message)> */
-var27 = var_other->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <var_other:nullable Object(Message)> */
+var27 = var_other->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <var_other:nullable Object(Message)> */
 if (unlikely(var27 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var25 = var27;
@@ -280,7 +280,7 @@ RET_LABEL26:(void)0;
 }
 }
 {
-var28 = ((short int(*)(val* self, val* p0))(var22->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var22, var25); /* == on <var22:String>*/
+var28 = ((short int(*)(val* self, val* p0))(var22->class->vft[COLOR_core__kernel__Object___61d_61d]))(var22, var25); /* == on <var22:String>*/
 }
 var3 = var28;
 } else {
@@ -292,7 +292,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#to_s for (self: Message): String */
-val* nit___nit__Message___standard__string__Object__to_s(val* self) {
+val* nitc___nitc__Message___core__abstract_text__Object__to_s(val* self) {
 val* var /* : String */;
 val* var1 /* : nullable Location */;
 val* var3 /* : nullable Location */;
@@ -306,14 +306,14 @@ static val* varonce;
 static val* varonce10;
 val* var11 /* : String */;
 char* var12 /* : NativeString */;
-val* var13 /* : FlatString */;
+val* var13 /* : String */;
 val* var14 /* : String */;
 val* var15 /* : String */;
 val* var17 /* : String */;
 val* var18 /* : String */;
 {
 { /* Inline toolcontext#Message#location (self) on <self:Message> */
-var3 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var3 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var1 = var3;
 RET_LABEL2:(void)0;
 }
@@ -325,16 +325,16 @@ var4 = 1; /* is null */
 var4 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var5 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL));
+var5 = nitc___nitc__Location___core__kernel__Object___61d_61d(var_l, ((val*)NULL));
 var4 = var5;
 }
 if (var4){
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var8 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var8 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var8 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var6 = var8;
@@ -345,39 +345,39 @@ var = var6;
 goto RET_LABEL;
 } else {
 if (unlikely(varonce==NULL)) {
-var9 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var9 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce10!=NULL)) {
 var11 = varonce10;
 } else {
 var12 = ": ";
-var13 = standard___standard__NativeString___to_s_with_length(var12, 2l);
+var13 = core__flat___NativeString___to_s_full(var12, 2l, 2l);
 var11 = var13;
 varonce10 = var11;
 }
-((struct instance_standard__NativeArray*)var9)->values[1]=var11;
+((struct instance_core__NativeArray*)var9)->values[1]=var11;
 } else {
 var9 = varonce;
 varonce = NULL;
 }
 {
-var14 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
+var14 = ((val*(*)(val* self))(var_l->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
 }
-((struct instance_standard__NativeArray*)var9)->values[0]=var14;
+((struct instance_core__NativeArray*)var9)->values[0]=var14;
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var17 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var17 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var15 = var17;
 RET_LABEL16:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var9)->values[2]=var15;
+((struct instance_core__NativeArray*)var9)->values[2]=var15;
 {
-var18 = ((val*(*)(val* self))(var9->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var9); /* native_to_s on <var9:NativeArray[String]>*/
+var18 = ((val*(*)(val* self))(var9->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var9); /* native_to_s on <var9:NativeArray[String]>*/
 }
 varonce = var9;
 var = var18;
@@ -387,7 +387,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#to_color_string for (self: Message): String */
-val* nit___nit__Message___to_color_string(val* self) {
+val* nitc___nitc__Message___to_color_string(val* self) {
 val* var /* : String */;
 uint32_t var1 /* : Char */;
 uint32_t var3 /* : Char */;
@@ -397,7 +397,7 @@ static val* varonce;
 static val* varonce5;
 val* var6 /* : String */;
 char* var7 /* : NativeString */;
-val* var8 /* : FlatString */;
+val* var8 /* : String */;
 val* var9 /* : String */;
 val* var10 /* : String */;
 val* var_yellow /* var yellow: String */;
@@ -406,7 +406,7 @@ static val* varonce11;
 static val* varonce13;
 val* var14 /* : String */;
 char* var15 /* : NativeString */;
-val* var16 /* : FlatString */;
+val* var16 /* : String */;
 val* var17 /* : String */;
 val* var18 /* : String */;
 val* var_def /* var def: String */;
@@ -423,16 +423,16 @@ static val* varonce27;
 static val* varonce29;
 val* var30 /* : String */;
 char* var31 /* : NativeString */;
-val* var32 /* : FlatString */;
+val* var32 /* : String */;
 static val* varonce33;
 val* var34 /* : String */;
 char* var35 /* : NativeString */;
-val* var36 /* : FlatString */;
+val* var36 /* : String */;
 val* var37 /* : String */;
 static val* varonce38;
 val* var39 /* : String */;
 char* var40 /* : NativeString */;
-val* var41 /* : FlatString */;
+val* var41 /* : String */;
 val* var42 /* : nullable Location */;
 val* var44 /* : nullable Location */;
 val* var_l /* var l: nullable Location */;
@@ -455,7 +455,7 @@ static val* varonce63;
 static val* varonce65;
 val* var66 /* : String */;
 char* var67 /* : NativeString */;
-val* var68 /* : FlatString */;
+val* var68 /* : String */;
 val* var69 /* : String */;
 val* var70 /* : String */;
 val* var72 /* : String */;
@@ -465,22 +465,22 @@ static val* varonce74;
 static val* varonce76;
 val* var77 /* : String */;
 char* var78 /* : NativeString */;
-val* var79 /* : FlatString */;
+val* var79 /* : String */;
 static val* varonce80;
 val* var81 /* : String */;
 char* var82 /* : NativeString */;
-val* var83 /* : FlatString */;
+val* var83 /* : String */;
 val* var84 /* : String */;
 val* var85 /* : String */;
 val* var87 /* : String */;
 static val* varonce88;
 val* var89 /* : String */;
 char* var90 /* : NativeString */;
-val* var91 /* : FlatString */;
+val* var91 /* : String */;
 val* var92 /* : String */;
 val* var93 /* : String */;
 {
-{ /* Inline kernel#Int#ascii (27l) on <27l:Int> */
+{ /* Inline kernel#Int#code_point (27l) on <27l:Int> */
 var3 = (uint32_t)27l;
 var1 = var3;
 goto RET_LABEL2;
@@ -489,52 +489,52 @@ RET_LABEL2:(void)0;
 }
 var_esc = var1;
 if (unlikely(varonce==NULL)) {
-var4 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var4 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce5!=NULL)) {
 var6 = varonce5;
 } else {
 var7 = "[0;33m";
-var8 = standard___standard__NativeString___to_s_with_length(var7, 6l);
+var8 = core__flat___NativeString___to_s_full(var7, 6l, 6l);
 var6 = var8;
 varonce5 = var6;
 }
-((struct instance_standard__NativeArray*)var4)->values[1]=var6;
+((struct instance_core__NativeArray*)var4)->values[1]=var6;
 } else {
 var4 = varonce;
 varonce = NULL;
 }
-var9 = standard__string___Char___Object__to_s(var_esc);
-((struct instance_standard__NativeArray*)var4)->values[0]=var9;
+var9 = core__abstract_text___Char___Object__to_s(var_esc);
+((struct instance_core__NativeArray*)var4)->values[0]=var9;
 {
-var10 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on <var4:NativeArray[String]>*/
+var10 = ((val*(*)(val* self))(var4->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var4); /* native_to_s on <var4:NativeArray[String]>*/
 }
 varonce = var4;
 var_yellow = var10;
 if (unlikely(varonce11==NULL)) {
-var12 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var12 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce13!=NULL)) {
 var14 = varonce13;
 } else {
 var15 = "[0m";
-var16 = standard___standard__NativeString___to_s_with_length(var15, 3l);
+var16 = core__flat___NativeString___to_s_full(var15, 3l, 3l);
 var14 = var16;
 varonce13 = var14;
 }
-((struct instance_standard__NativeArray*)var12)->values[1]=var14;
+((struct instance_core__NativeArray*)var12)->values[1]=var14;
 } else {
 var12 = varonce11;
 varonce11 = NULL;
 }
-var17 = standard__string___Char___Object__to_s(var_esc);
-((struct instance_standard__NativeArray*)var12)->values[0]=var17;
+var17 = core__abstract_text___Char___Object__to_s(var_esc);
+((struct instance_core__NativeArray*)var12)->values[0]=var17;
 {
-var18 = ((val*(*)(val* self))(var12->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var12); /* native_to_s on <var12:NativeArray[String]>*/
+var18 = ((val*(*)(val* self))(var12->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var12); /* native_to_s on <var12:NativeArray[String]>*/
 }
 varonce11 = var12;
 var_def = var18;
 {
 { /* Inline toolcontext#Message#tag (self) on <self:Message> */
-var21 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on <self:Message> */
+var21 = self->attrs[COLOR_nitc__toolcontext__Message___tag].val; /* _tag on <self:Message> */
 var19 = var21;
 RET_LABEL20:(void)0;
 }
@@ -549,7 +549,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_tag,((val*)NULL)) on <var_tag:nullable String> */
 var_other = ((val*)NULL);
 {
-var25 = ((short int(*)(val* self, val* p0))(var_tag->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_tag, var_other); /* == on <var_tag:nullable String(String)>*/
+var25 = ((short int(*)(val* self, val* p0))(var_tag->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_tag, var_other); /* == on <var_tag:nullable String(String)>*/
 }
 var26 = !var25;
 var23 = var26;
@@ -560,32 +560,32 @@ var22 = var23;
 }
 if (var22){
 if (unlikely(varonce27==NULL)) {
-var28 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var28 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce29!=NULL)) {
 var30 = varonce29;
 } else {
 var31 = " (";
-var32 = standard___standard__NativeString___to_s_with_length(var31, 2l);
+var32 = core__flat___NativeString___to_s_full(var31, 2l, 2l);
 var30 = var32;
 varonce29 = var30;
 }
-((struct instance_standard__NativeArray*)var28)->values[0]=var30;
+((struct instance_core__NativeArray*)var28)->values[0]=var30;
 if (likely(varonce33!=NULL)) {
 var34 = varonce33;
 } else {
 var35 = ")";
-var36 = standard___standard__NativeString___to_s_with_length(var35, 1l);
+var36 = core__flat___NativeString___to_s_full(var35, 1l, 1l);
 var34 = var36;
 varonce33 = var34;
 }
-((struct instance_standard__NativeArray*)var28)->values[2]=var34;
+((struct instance_core__NativeArray*)var28)->values[2]=var34;
 } else {
 var28 = varonce27;
 varonce27 = NULL;
 }
-((struct instance_standard__NativeArray*)var28)->values[1]=var_tag;
+((struct instance_core__NativeArray*)var28)->values[1]=var_tag;
 {
-var37 = ((val*(*)(val* self))(var28->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var28); /* native_to_s on <var28:NativeArray[String]>*/
+var37 = ((val*(*)(val* self))(var28->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var28); /* native_to_s on <var28:NativeArray[String]>*/
 }
 varonce27 = var28;
 var_tag = var37;
@@ -594,7 +594,7 @@ if (likely(varonce38!=NULL)) {
 var39 = varonce38;
 } else {
 var40 = "";
-var41 = standard___standard__NativeString___to_s_with_length(var40, 0l);
+var41 = core__flat___NativeString___to_s_full(var40, 0l, 0l);
 var39 = var41;
 varonce38 = var39;
 }
@@ -602,7 +602,7 @@ var_tag = var39;
 }
 {
 { /* Inline toolcontext#Message#location (self) on <self:Message> */
-var44 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on <self:Message> */
+var44 = self->attrs[COLOR_nitc__toolcontext__Message___location].val; /* _location on <self:Message> */
 var42 = var44;
 RET_LABEL43:(void)0;
 }
@@ -614,32 +614,32 @@ var45 = 1; /* is null */
 var45 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var46 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL));
+var46 = nitc___nitc__Location___core__kernel__Object___61d_61d(var_l, ((val*)NULL));
 var45 = var46;
 }
 if (var45){
 if (unlikely(varonce47==NULL)) {
-var48 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var48 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 } else {
 var48 = varonce47;
 varonce47 = NULL;
 }
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var51 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var51 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var51 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var49 = var51;
 RET_LABEL50:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var48)->values[0]=var49;
-((struct instance_standard__NativeArray*)var48)->values[1]=var_tag;
+((struct instance_core__NativeArray*)var48)->values[0]=var49;
+((struct instance_core__NativeArray*)var48)->values[1]=var_tag;
 {
-var52 = ((val*(*)(val* self))(var48->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var48); /* native_to_s on <var48:NativeArray[String]>*/
+var52 = ((val*(*)(val* self))(var48->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var48); /* native_to_s on <var48:NativeArray[String]>*/
 }
 varonce47 = var48;
 var = var52;
@@ -647,7 +647,7 @@ goto RET_LABEL;
 } else {
 {
 { /* Inline location#Location#file (var_l) on <var_l:nullable Location(Location)> */
-var55 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_l:nullable Location(Location)> */
+var55 = var_l->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var_l:nullable Location(Location)> */
 var53 = var55;
 RET_LABEL54:(void)0;
 }
@@ -676,105 +676,105 @@ var56 = var57;
 }
 if (var56){
 if (unlikely(varonce63==NULL)) {
-var64 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String);
+var64 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String);
 if (likely(varonce65!=NULL)) {
 var66 = varonce65;
 } else {
 var67 = ": ";
-var68 = standard___standard__NativeString___to_s_with_length(var67, 2l);
+var68 = core__flat___NativeString___to_s_full(var67, 2l, 2l);
 var66 = var68;
 varonce65 = var66;
 }
-((struct instance_standard__NativeArray*)var64)->values[3]=var66;
+((struct instance_core__NativeArray*)var64)->values[3]=var66;
 } else {
 var64 = varonce63;
 varonce63 = NULL;
 }
-((struct instance_standard__NativeArray*)var64)->values[0]=var_yellow;
+((struct instance_core__NativeArray*)var64)->values[0]=var_yellow;
 {
-var69 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
+var69 = ((val*(*)(val* self))(var_l->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
 }
-((struct instance_standard__NativeArray*)var64)->values[1]=var69;
-((struct instance_standard__NativeArray*)var64)->values[2]=var_def;
+((struct instance_core__NativeArray*)var64)->values[1]=var69;
+((struct instance_core__NativeArray*)var64)->values[2]=var_def;
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var72 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var72 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var72 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var70 = var72;
 RET_LABEL71:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var64)->values[4]=var70;
-((struct instance_standard__NativeArray*)var64)->values[5]=var_tag;
+((struct instance_core__NativeArray*)var64)->values[4]=var70;
+((struct instance_core__NativeArray*)var64)->values[5]=var_tag;
 {
-var73 = ((val*(*)(val* self))(var64->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var64); /* native_to_s on <var64:NativeArray[String]>*/
+var73 = ((val*(*)(val* self))(var64->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var64); /* native_to_s on <var64:NativeArray[String]>*/
 }
 varonce63 = var64;
 var = var73;
 goto RET_LABEL;
 } else {
 if (unlikely(varonce74==NULL)) {
-var75 = NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String);
+var75 = NEW_core__NativeArray(8l, &type_core__NativeArray__core__String);
 if (likely(varonce76!=NULL)) {
 var77 = varonce76;
 } else {
 var78 = ": ";
-var79 = standard___standard__NativeString___to_s_with_length(var78, 2l);
+var79 = core__flat___NativeString___to_s_full(var78, 2l, 2l);
 var77 = var79;
 varonce76 = var77;
 }
-((struct instance_standard__NativeArray*)var75)->values[3]=var77;
+((struct instance_core__NativeArray*)var75)->values[3]=var77;
 if (likely(varonce80!=NULL)) {
 var81 = varonce80;
 } else {
 var82 = "\n";
-var83 = standard___standard__NativeString___to_s_with_length(var82, 1l);
+var83 = core__flat___NativeString___to_s_full(var82, 1l, 1l);
 var81 = var83;
 varonce80 = var81;
 }
-((struct instance_standard__NativeArray*)var75)->values[6]=var81;
+((struct instance_core__NativeArray*)var75)->values[6]=var81;
 } else {
 var75 = varonce74;
 varonce74 = NULL;
 }
-((struct instance_standard__NativeArray*)var75)->values[0]=var_yellow;
+((struct instance_core__NativeArray*)var75)->values[0]=var_yellow;
 {
-var84 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
+var84 = ((val*(*)(val* self))(var_l->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_l); /* to_s on <var_l:nullable Location(Location)>*/
 }
-((struct instance_standard__NativeArray*)var75)->values[1]=var84;
-((struct instance_standard__NativeArray*)var75)->values[2]=var_def;
+((struct instance_core__NativeArray*)var75)->values[1]=var84;
+((struct instance_core__NativeArray*)var75)->values[2]=var_def;
 {
 { /* Inline toolcontext#Message#text (self) on <self:Message> */
-var87 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on <self:Message> */
+var87 = self->attrs[COLOR_nitc__toolcontext__Message___text].val; /* _text on <self:Message> */
 if (unlikely(var87 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 42);
 fatal_exit(1);
 }
 var85 = var87;
 RET_LABEL86:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var75)->values[4]=var85;
-((struct instance_standard__NativeArray*)var75)->values[5]=var_tag;
+((struct instance_core__NativeArray*)var75)->values[4]=var85;
+((struct instance_core__NativeArray*)var75)->values[5]=var_tag;
 if (likely(varonce88!=NULL)) {
 var89 = varonce88;
 } else {
 var90 = "1;31";
-var91 = standard___standard__NativeString___to_s_with_length(var90, 4l);
+var91 = core__flat___NativeString___to_s_full(var90, 4l, 4l);
 var89 = var91;
 varonce88 = var89;
 }
 {
-var92 = nit___nit__Location___colored_line(var_l, var89);
+var92 = nitc___nitc__Location___colored_line(var_l, var89);
 }
-((struct instance_standard__NativeArray*)var75)->values[7]=var92;
+((struct instance_core__NativeArray*)var75)->values[7]=var92;
 {
-var93 = ((val*(*)(val* self))(var75->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var75); /* native_to_s on <var75:NativeArray[String]>*/
+var93 = ((val*(*)(val* self))(var75->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var75); /* native_to_s on <var75:NativeArray[String]>*/
 }
 varonce74 = var75;
 var = var93;
@@ -785,28 +785,28 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#Message#init for (self: Message) */
-void nit___nit__Message___standard__kernel__Object__init(val* self) {
+void nitc___nitc__Message___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_nit___nit__Message___standard__kernel__Object__init]))(self); /* init on <self:Message>*/
+((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__Message___core__kernel__Object__init]))(self); /* init on <self:Message>*/
 }
 RET_LABEL:;
 }
 /* method toolcontext#Location#messages for (self: Location): nullable Array[Message] */
-val* nit__toolcontext___Location___messages(val* self) {
+val* nitc__toolcontext___Location___messages(val* self) {
 val* var /* : nullable Array[Message] */;
 val* var1 /* : nullable Array[Message] */;
-var1 = self->attrs[COLOR_nit__toolcontext__Location___messages].val; /* _messages on <self:Location> */
+var1 = self->attrs[COLOR_nitc__toolcontext__Location___messages].val; /* _messages on <self:Location> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#Location#messages= for (self: Location, nullable Array[Message]) */
-void nit__toolcontext___Location___messages_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__Location___messages].val = p0; /* _messages on <self:Location> */
+void nitc__toolcontext___Location___messages_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__Location___messages].val = p0; /* _messages on <self:Location> */
 RET_LABEL:;
 }
 /* method toolcontext#Location#add_message for (self: Location, Message) */
-void nit__toolcontext___Location___add_message(val* self, val* p0) {
+void nitc__toolcontext___Location___add_message(val* self, val* p0) {
 val* var_m /* var m: Message */;
 val* var /* : nullable Array[Message] */;
 val* var2 /* : nullable Array[Message] */;
@@ -817,7 +817,7 @@ val* var5 /* : Array[Message] */;
 var_m = p0;
 {
 { /* Inline toolcontext#Location#messages (self) on <self:Location> */
-var2 = self->attrs[COLOR_nit__toolcontext__Location___messages].val; /* _messages on <self:Location> */
+var2 = self->attrs[COLOR_nitc__toolcontext__Location___messages].val; /* _messages on <self:Location> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -829,64 +829,64 @@ var3 = 1; /* is null */
 var3 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var4 = standard___standard__Array___standard__kernel__Object___61d_61d(var_ms, ((val*)NULL));
+var4 = core___core__Array___core__kernel__Object___61d_61d(var_ms, ((val*)NULL));
 var3 = var4;
 }
 if (var3){
-var5 = NEW_standard__Array(&type_standard__Array__nit__Message);
+var5 = NEW_core__Array(&type_core__Array__nitc__Message);
 {
-standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Message]>*/
+core___core__Array___core__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Message]>*/
 }
 var_ms = var5;
 {
 { /* Inline toolcontext#Location#messages= (self,var_ms) on <self:Location> */
-self->attrs[COLOR_nit__toolcontext__Location___messages].val = var_ms; /* _messages on <self:Location> */
+self->attrs[COLOR_nitc__toolcontext__Location___messages].val = var_ms; /* _messages on <self:Location> */
 RET_LABEL6:(void)0;
 }
 }
 } else {
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ms, var_m); /* Direct call array#Array#add on <var_ms:nullable Array[Message](Array[Message])>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_ms, var_m); /* Direct call array#Array#add on <var_ms:nullable Array[Message](Array[Message])>*/
 }
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#error_count for (self: ToolContext): Int */
-long nit___nit__ToolContext___error_count(val* self) {
+long nitc___nitc__ToolContext___error_count(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#error_count= for (self: ToolContext, Int) */
-void nit___nit__ToolContext___error_count_61d(val* self, long p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l = p0; /* _error_count on <self:ToolContext> */
+void nitc___nitc__ToolContext___error_count_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l = p0; /* _error_count on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#warning_count for (self: ToolContext): Int */
-long nit___nit__ToolContext___warning_count(val* self) {
+long nitc___nitc__ToolContext___warning_count(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#warning_count= for (self: ToolContext, Int) */
-void nit___nit__ToolContext___warning_count_61d(val* self, long p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = p0; /* _warning_count on <self:ToolContext> */
+void nitc___nitc__ToolContext___warning_count_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l = p0; /* _warning_count on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#log_directory for (self: ToolContext): String */
-val* nit___nit__ToolContext___log_directory(val* self) {
+val* nitc___nitc__ToolContext___log_directory(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 137);
 fatal_exit(1);
 }
 var = var1;
@@ -894,32 +894,32 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#log_directory= for (self: ToolContext, String) */
-void nit___nit__ToolContext___log_directory_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val = p0; /* _log_directory on <self:ToolContext> */
+void nitc___nitc__ToolContext___log_directory_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___log_directory].val = p0; /* _log_directory on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#log_info for (self: ToolContext): nullable Writer */
-val* nit___nit__ToolContext___log_info(val* self) {
+val* nitc___nitc__ToolContext___log_info(val* self) {
 val* var /* : nullable Writer */;
 val* var1 /* : nullable Writer */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#log_info= for (self: ToolContext, nullable Writer) */
-void nit___nit__ToolContext___log_info_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val = p0; /* _log_info on <self:ToolContext> */
+void nitc___nitc__ToolContext___log_info_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val = p0; /* _log_info on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#messages for (self: ToolContext): Array[Message] */
-val* nit___nit__ToolContext___messages(val* self) {
+val* nitc___nitc__ToolContext___messages(val* self) {
 val* var /* : Array[Message] */;
 val* var1 /* : Array[Message] */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var = var1;
@@ -927,13 +927,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#message_sorter for (self: ToolContext): Comparator */
-val* nit___nit__ToolContext___message_sorter(val* self) {
+val* nitc___nitc__ToolContext___message_sorter(val* self) {
 val* var /* : Comparator */;
 val* var1 /* : Comparator */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 145);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 145);
 fatal_exit(1);
 }
 var = var1;
@@ -941,27 +941,27 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#keep_going for (self: ToolContext): Bool */
-short int nit___nit__ToolContext___keep_going(val* self) {
+short int nitc___nitc__ToolContext___keep_going(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s; /* _keep_going on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___keep_going].s; /* _keep_going on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#keep_going= for (self: ToolContext, Bool) */
-void nit___nit__ToolContext___keep_going_61d(val* self, short int p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s = p0; /* _keep_going on <self:ToolContext> */
+void nitc___nitc__ToolContext___keep_going_61d(val* self, short int p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___keep_going].s = p0; /* _keep_going on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#warning_blacklist for (self: ToolContext): MultiHashMap[SourceFile, String] */
-val* nit___nit__ToolContext___warning_blacklist(val* self) {
+val* nitc___nitc__ToolContext___warning_blacklist(val* self) {
 val* var /* : MultiHashMap[SourceFile, String] */;
 val* var1 /* : MultiHashMap[SourceFile, String] */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _warning_blacklist");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 153);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 153);
 fatal_exit(1);
 }
 var = var1;
@@ -969,7 +969,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#is_warning_blacklisted for (self: ToolContext, nullable Location, String): Bool */
-short int nit___nit__ToolContext___is_warning_blacklisted(val* self, val* p0, val* p1) {
+short int nitc___nitc__ToolContext___is_warning_blacklisted(val* self, val* p0, val* p1) {
 short int var /* : Bool */;
 val* var_l /* var l: nullable Location */;
 val* var_tag /* var tag: String */;
@@ -993,7 +993,7 @@ short int var18 /* : Bool */;
 static val* varonce;
 val* var19 /* : String */;
 char* var20 /* : NativeString */;
-val* var21 /* : FlatString */;
+val* var21 /* : String */;
 short int var22 /* : Bool */;
 short int var_ /* var : Bool */;
 short int var23 /* : Bool */;
@@ -1005,7 +1005,7 @@ var1 = 1; /* is null */
 var1 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var2 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL));
+var2 = nitc___nitc__Location___core__kernel__Object___61d_61d(var_l, ((val*)NULL));
 var1 = var2;
 }
 if (var1){
@@ -1015,7 +1015,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline location#Location#file (var_l) on <var_l:nullable Location(Location)> */
-var5 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_l:nullable Location(Location)> */
+var5 = var_l->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var_l:nullable Location(Location)> */
 var3 = var5;
 RET_LABEL4:(void)0;
 }
@@ -1050,10 +1050,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#ToolContext#warning_blacklist (self) on <self:ToolContext> */
-var14 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on <self:ToolContext> */
+var14 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on <self:ToolContext> */
 if (unlikely(var14 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _warning_blacklist");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 153);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 153);
 fatal_exit(1);
 }
 var12 = var14;
@@ -1061,7 +1061,7 @@ RET_LABEL13:(void)0;
 }
 }
 {
-var15 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var12, var_f);
+var15 = core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var12, var_f);
 }
 var_tags = var15;
 if (var_tags == NULL) {
@@ -1070,7 +1070,7 @@ var16 = 1; /* is null */
 var16 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var17 = standard___standard__Array___standard__kernel__Object___61d_61d(var_tags, ((val*)NULL));
+var17 = core___core__Array___core__kernel__Object___61d_61d(var_tags, ((val*)NULL));
 var16 = var17;
 }
 if (var16){
@@ -1082,19 +1082,19 @@ if (likely(varonce!=NULL)) {
 var19 = varonce;
 } else {
 var20 = "all";
-var21 = standard___standard__NativeString___to_s_with_length(var20, 3l);
+var21 = core__flat___NativeString___to_s_full(var20, 3l, 3l);
 var19 = var21;
 varonce = var19;
 }
 {
-var22 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var19);
+var22 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_tags, var19);
 }
 var_ = var22;
 if (var22){
 var18 = var_;
 } else {
 {
-var23 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var_tag);
+var23 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_tags, var_tag);
 }
 var18 = var23;
 }
@@ -1103,8 +1103,70 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method toolcontext#ToolContext#quit for (self: ToolContext) */
+void nitc___nitc__ToolContext___quit(val* self) {
+short int var /* : Bool */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+short int var4 /* : Bool */;
+short int var6 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var7 /* : Bool */;
+val* var8 /* : Sys */;
+val* var10 /* : Sys */;
+{
+var = nitc___nitc__ToolContext___check_errors(self);
+}
+{
+nitc___nitc__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on <self:ToolContext>*/
+}
+{
+{ /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#> (var1,0l) on <var1:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var6 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var6)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+fatal_exit(1);
+}
+var7 = var1 > 0l;
+var4 = var7;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+}
+if (var4){
+var8 = glob_sys;
+{
+{ /* Inline kernel#Sys#exit (var8,1l) on <var8:Sys> */
+exit(1l);
+RET_LABEL9:(void)0;
+}
+}
+} else {
+var10 = glob_sys;
+{
+{ /* Inline kernel#Sys#exit (var10,0l) on <var10:Sys> */
+exit(0l);
+RET_LABEL11:(void)0;
+}
+}
+}
+RET_LABEL:;
+}
 /* method toolcontext#ToolContext#check_errors for (self: ToolContext): Bool */
-short int nit___nit__ToolContext___check_errors(val* self) {
+short int nitc___nitc__ToolContext___check_errors(val* self) {
 short int var /* : Bool */;
 val* var1 /* : Array[Message] */;
 val* var3 /* : Array[Message] */;
@@ -1123,8 +1185,8 @@ val* var16 /* : Array[Message] */;
 val* var17 /* : Array[Message] */;
 val* var19 /* : Array[Message] */;
 val* var_ /* var : Array[Message] */;
-val* var20 /* : ArrayIterator[nullable Object] */;
-val* var_21 /* var : ArrayIterator[Message] */;
+val* var20 /* : IndexedIterator[nullable Object] */;
+val* var_21 /* var : IndexedIterator[Message] */;
 short int var22 /* : Bool */;
 val* var23 /* : nullable Object */;
 val* var_m /* var m: Message */;
@@ -1141,7 +1203,7 @@ static val* varonce;
 static val* varonce36;
 val* var37 /* : String */;
 char* var38 /* : NativeString */;
-val* var39 /* : FlatString */;
+val* var39 /* : String */;
 val* var40 /* : String */;
 val* var41 /* : String */;
 val* var42 /* : Sys */;
@@ -1152,7 +1214,7 @@ static val* varonce46;
 static val* varonce48;
 val* var49 /* : String */;
 char* var50 /* : NativeString */;
-val* var51 /* : FlatString */;
+val* var51 /* : String */;
 val* var52 /* : String */;
 val* var53 /* : String */;
 val* var54 /* : Array[Message] */;
@@ -1171,10 +1233,10 @@ short int var70 /* : Bool */;
 val* var71 /* : Sys */;
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1183,7 +1245,7 @@ RET_LABEL2:(void)0;
 }
 {
 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[Message]> */
-var6 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var1:Array[Message]> */
+var6 = var1->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var1:Array[Message]> */
 var4 = var6;
 RET_LABEL5:(void)0;
 }
@@ -1194,9 +1256,9 @@ RET_LABEL5:(void)0;
 /* <0l:Int> isa OTHER */
 var9 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var9)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var10 = var4 > 0l;
@@ -1208,10 +1270,10 @@ RET_LABEL8:(void)0;
 if (var7){
 {
 { /* Inline toolcontext#ToolContext#message_sorter (self) on <self:ToolContext> */
-var13 = self->attrs[COLOR_nit__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on <self:ToolContext> */
+var13 = self->attrs[COLOR_nitc__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on <self:ToolContext> */
 if (unlikely(var13 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 145);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 145);
 fatal_exit(1);
 }
 var11 = var13;
@@ -1220,10 +1282,10 @@ RET_LABEL12:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var16 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var16 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var16 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var14 = var16;
@@ -1231,14 +1293,14 @@ RET_LABEL15:(void)0;
 }
 }
 {
-standard___standard__Comparator___sort(var11, var14); /* Direct call sorter#Comparator#sort on <var11:Comparator>*/
+core___core__Comparator___sort(var11, var14); /* Direct call sorter#Comparator#sort on <var11:Comparator>*/
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var19 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var19 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var19 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var17 = var19;
@@ -1247,24 +1309,27 @@ RET_LABEL18:(void)0;
 }
 var_ = var17;
 {
-var20 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var20 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
 var_21 = var20;
 for(;;) {
 {
-var22 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_21);
+var22 = ((short int(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_21); /* is_ok on <var_21:IndexedIterator[Message]>*/
 }
 if (var22){
+} else {
+goto BREAK_label;
+}
 {
-var23 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_21);
+var23 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_21); /* item on <var_21:IndexedIterator[Message]>*/
 }
 var_m = var23;
 {
 { /* Inline toolcontext#ToolContext#opt_no_color (self) on <self:ToolContext> */
-var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
+var26 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
 if (unlikely(var26 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 381);
 fatal_exit(1);
 }
 var24 = var26;
@@ -1289,33 +1354,33 @@ RET_LABEL32:(void)0;
 }
 }
 {
-var34 = standard__file___Sys___stderr(var31);
+var34 = core__file___Sys___stderr(var31);
 }
 if (unlikely(varonce==NULL)) {
-var35 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var35 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce36!=NULL)) {
 var37 = varonce36;
 } else {
 var38 = "\n";
-var39 = standard___standard__NativeString___to_s_with_length(var38, 1l);
+var39 = core__flat___NativeString___to_s_full(var38, 1l, 1l);
 var37 = var39;
 varonce36 = var37;
 }
-((struct instance_standard__NativeArray*)var35)->values[1]=var37;
+((struct instance_core__NativeArray*)var35)->values[1]=var37;
 } else {
 var35 = varonce;
 varonce = NULL;
 }
 {
-var40 = ((val*(*)(val* self))(var_m->class->vft[COLOR_standard__string__Object__to_s]))(var_m); /* to_s on <var_m:Message>*/
+var40 = ((val*(*)(val* self))(var_m->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_m); /* to_s on <var_m:Message>*/
 }
-((struct instance_standard__NativeArray*)var35)->values[0]=var40;
+((struct instance_core__NativeArray*)var35)->values[0]=var40;
 {
-var41 = ((val*(*)(val* self))(var35->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var35); /* native_to_s on <var35:NativeArray[String]>*/
+var41 = ((val*(*)(val* self))(var35->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var35); /* native_to_s on <var35:NativeArray[String]>*/
 }
 varonce = var35;
 {
-standard___standard__FileWriter___standard__stream__Writer__write(var34, var41); /* Direct call file#FileWriter#write on <var34:Writer>*/
+core___core__FileWriter___core__stream__Writer__write(var34, var41); /* Direct call file#FileWriter#write on <var34:Writer>*/
 }
 } else {
 {
@@ -1327,52 +1392,49 @@ RET_LABEL43:(void)0;
 }
 }
 {
-var45 = standard__file___Sys___stderr(var42);
+var45 = core__file___Sys___stderr(var42);
 }
 if (unlikely(varonce46==NULL)) {
-var47 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var47 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce48!=NULL)) {
 var49 = varonce48;
 } else {
 var50 = "\n";
-var51 = standard___standard__NativeString___to_s_with_length(var50, 1l);
+var51 = core__flat___NativeString___to_s_full(var50, 1l, 1l);
 var49 = var51;
 varonce48 = var49;
 }
-((struct instance_standard__NativeArray*)var47)->values[1]=var49;
+((struct instance_core__NativeArray*)var47)->values[1]=var49;
 } else {
 var47 = varonce46;
 varonce46 = NULL;
 }
 {
-var52 = nit___nit__Message___to_color_string(var_m);
+var52 = nitc___nitc__Message___to_color_string(var_m);
 }
-((struct instance_standard__NativeArray*)var47)->values[0]=var52;
+((struct instance_core__NativeArray*)var47)->values[0]=var52;
 {
-var53 = ((val*(*)(val* self))(var47->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var47); /* native_to_s on <var47:NativeArray[String]>*/
+var53 = ((val*(*)(val* self))(var47->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var47); /* native_to_s on <var47:NativeArray[String]>*/
 }
 varonce46 = var47;
 {
-standard___standard__FileWriter___standard__stream__Writer__write(var45, var53); /* Direct call file#FileWriter#write on <var45:Writer>*/
+core___core__FileWriter___core__stream__Writer__write(var45, var53); /* Direct call file#FileWriter#write on <var45:Writer>*/
 }
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_21); /* Direct call array#ArrayIterator#next on <var_21:ArrayIterator[Message]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_21); /* next on <var_21:IndexedIterator[Message]>*/
 }
 }
 BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_21); /* Direct call array#ArrayIterator#finish on <var_21:ArrayIterator[Message]>*/
+((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_21); /* finish on <var_21:IndexedIterator[Message]>*/
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var56 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var56 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var56 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var54 = var56;
@@ -1380,13 +1442,13 @@ RET_LABEL55:(void)0;
 }
 }
 {
-standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var54); /* Direct call array#AbstractArray#clear on <var54:Array[Message]>*/
+core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var54); /* Direct call array#AbstractArray#clear on <var54:Array[Message]>*/
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
-var59 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var59 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
 var57 = var59;
 RET_LABEL58:(void)0;
 }
@@ -1397,9 +1459,9 @@ RET_LABEL58:(void)0;
 /* <0l:Int> isa OTHER */
 var62 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var62)) {
-var_class_name65 = type_standard__Int.name;
+var_class_name65 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var66 = var57 > 0l;
@@ -1411,7 +1473,7 @@ RET_LABEL61:(void)0;
 if (var60){
 {
 { /* Inline toolcontext#ToolContext#keep_going (self) on <self:ToolContext> */
-var69 = self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s; /* _keep_going on <self:ToolContext> */
+var69 = self->attrs[COLOR_nitc__toolcontext__ToolContext___keep_going].s; /* _keep_going on <self:ToolContext> */
 var67 = var69;
 RET_LABEL68:(void)0;
 }
@@ -1419,7 +1481,7 @@ RET_LABEL68:(void)0;
 var70 = !var67;
 if (var70){
 {
-nit___nit__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on <self:ToolContext>*/
+nitc___nitc__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on <self:ToolContext>*/
 }
 var71 = glob_sys;
 {
@@ -1440,7 +1502,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#errors_info for (self: ToolContext) */
-void nit___nit__ToolContext___errors_info(val* self) {
+void nitc___nitc__ToolContext___errors_info(val* self) {
 short int var /* : Bool */;
 long var1 /* : Int */;
 long var3 /* : Int */;
@@ -1464,15 +1526,15 @@ static val* varonce;
 static val* varonce25;
 val* var26 /* : String */;
 char* var27 /* : NativeString */;
-val* var28 /* : FlatString */;
+val* var28 /* : String */;
 static val* varonce29;
 val* var30 /* : String */;
 char* var31 /* : NativeString */;
-val* var32 /* : FlatString */;
+val* var32 /* : String */;
 static val* varonce33;
 val* var34 /* : String */;
 char* var35 /* : NativeString */;
-val* var36 /* : FlatString */;
+val* var36 /* : String */;
 long var37 /* : Int */;
 long var39 /* : Int */;
 val* var40 /* : String */;
@@ -1482,7 +1544,7 @@ val* var44 /* : String */;
 val* var45 /* : String */;
 {
 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
 var1 = var3;
 RET_LABEL2:(void)0;
 }
@@ -1499,7 +1561,7 @@ var_ = var4;
 if (var4){
 {
 { /* Inline toolcontext#ToolContext#warning_count (self) on <self:ToolContext> */
-var9 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
+var9 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
 var7 = var9;
 RET_LABEL8:(void)0;
 }
@@ -1522,10 +1584,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_no_color (self) on <self:ToolContext> */
-var15 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
+var15 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
 if (unlikely(var15 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 381);
 fatal_exit(1);
 }
 var13 = var15;
@@ -1553,70 +1615,70 @@ RET_LABEL21:(void)0;
 }
 }
 {
-var23 = standard__file___Sys___stderr(var20);
+var23 = core__file___Sys___stderr(var20);
 }
 if (unlikely(varonce==NULL)) {
-var24 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
+var24 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
 if (likely(varonce25!=NULL)) {
 var26 = varonce25;
 } else {
 var27 = "Errors: ";
-var28 = standard___standard__NativeString___to_s_with_length(var27, 8l);
+var28 = core__flat___NativeString___to_s_full(var27, 8l, 8l);
 var26 = var28;
 varonce25 = var26;
 }
-((struct instance_standard__NativeArray*)var24)->values[0]=var26;
+((struct instance_core__NativeArray*)var24)->values[0]=var26;
 if (likely(varonce29!=NULL)) {
 var30 = varonce29;
 } else {
 var31 = ". Warnings: ";
-var32 = standard___standard__NativeString___to_s_with_length(var31, 12l);
+var32 = core__flat___NativeString___to_s_full(var31, 12l, 12l);
 var30 = var32;
 varonce29 = var30;
 }
-((struct instance_standard__NativeArray*)var24)->values[2]=var30;
+((struct instance_core__NativeArray*)var24)->values[2]=var30;
 if (likely(varonce33!=NULL)) {
 var34 = varonce33;
 } else {
 var35 = ".\n";
-var36 = standard___standard__NativeString___to_s_with_length(var35, 2l);
+var36 = core__flat___NativeString___to_s_full(var35, 2l, 2l);
 var34 = var36;
 varonce33 = var34;
 }
-((struct instance_standard__NativeArray*)var24)->values[4]=var34;
+((struct instance_core__NativeArray*)var24)->values[4]=var34;
 } else {
 var24 = varonce;
 varonce = NULL;
 }
 {
 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
-var39 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var39 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
 var37 = var39;
 RET_LABEL38:(void)0;
 }
 }
-var40 = standard__string___Int___Object__to_s(var37);
-((struct instance_standard__NativeArray*)var24)->values[1]=var40;
+var40 = core__flat___Int___core__abstract_text__Object__to_s(var37);
+((struct instance_core__NativeArray*)var24)->values[1]=var40;
 {
 { /* Inline toolcontext#ToolContext#warning_count (self) on <self:ToolContext> */
-var43 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
+var43 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
 var41 = var43;
 RET_LABEL42:(void)0;
 }
 }
-var44 = standard__string___Int___Object__to_s(var41);
-((struct instance_standard__NativeArray*)var24)->values[3]=var44;
+var44 = core__flat___Int___core__abstract_text__Object__to_s(var41);
+((struct instance_core__NativeArray*)var24)->values[3]=var44;
 {
-var45 = ((val*(*)(val* self))(var24->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var24); /* native_to_s on <var24:NativeArray[String]>*/
+var45 = ((val*(*)(val* self))(var24->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var24); /* native_to_s on <var24:NativeArray[String]>*/
 }
 varonce = var24;
 {
-standard___standard__FileWriter___standard__stream__Writer__write(var23, var45); /* Direct call file#FileWriter#write on <var23:Writer>*/
+core___core__FileWriter___core__stream__Writer__write(var23, var45); /* Direct call file#FileWriter#write on <var23:Writer>*/
 }
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#error for (self: ToolContext, nullable Location, String): Message */
-val* nit___nit__ToolContext___error(val* self, val* p0, val* p1) {
+val* nitc___nitc__ToolContext___error(val* self, val* p0, val* p1) {
 val* var /* : Message */;
 val* var_l /* var l: nullable Location */;
 val* var_s /* var s: String */;
@@ -1648,26 +1710,26 @@ short int var28 /* : Bool */;
 short int var29 /* : Bool */;
 var_l = p0;
 var_s = p1;
-var1 = NEW_nit__Message(&type_nit__Message);
+var1 = NEW_nitc__Message(&type_nitc__Message);
 {
-((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var1, var_l); /* location= on <var1:Message>*/
+((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nitc__toolcontext__Message__location_61d]))(var1, var_l); /* location= on <var1:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var1, ((val*)NULL)); /* tag= on <var1:Message>*/
+((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nitc__toolcontext__Message__tag_61d]))(var1, ((val*)NULL)); /* tag= on <var1:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var1, var_s); /* text= on <var1:Message>*/
+((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nitc__toolcontext__Message__text_61d]))(var1, var_s); /* text= on <var1:Message>*/
 }
 {
-((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on <var1:Message>*/
+((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:Message>*/
 }
 var_m = var1;
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var4 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var4 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var4 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var2 = var4;
@@ -1675,7 +1737,7 @@ RET_LABEL3:(void)0;
 }
 }
 {
-var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var2, var_m);
+var5 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var2, var_m);
 }
 if (var5){
 var = var_m;
@@ -1691,7 +1753,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_l,((val*)NULL)) on <var_l:nullable Location> */
 var_other = ((val*)NULL);
 {
-var9 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
+var9 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
 }
 var10 = !var9;
 var7 = var10;
@@ -1702,16 +1764,16 @@ var6 = var7;
 }
 if (var6){
 {
-nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
+nitc__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var13 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var13 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var13 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var11 = var13;
@@ -1719,11 +1781,11 @@ RET_LABEL12:(void)0;
 }
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var11, var_m); /* Direct call array#Array#add on <var11:Array[Message]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var11, var_m); /* Direct call array#Array#add on <var11:Array[Message]>*/
 }
 {
 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
-var16 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
+var16 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on <self:ToolContext> */
 var14 = var16;
 RET_LABEL15:(void)0;
 }
@@ -1734,9 +1796,9 @@ RET_LABEL15:(void)0;
 /* <1l:Int> isa OTHER */
 var19 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var19)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var20 = var14 + 1l;
@@ -1747,16 +1809,16 @@ RET_LABEL18:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#error_count= (self,var17) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l = var17; /* _error_count on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l = var17; /* _error_count on <self:ToolContext> */
 RET_LABEL21:(void)0;
 }
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on <self:ToolContext> */
-var24 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
+var24 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
 if (unlikely(var24 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 375);
 fatal_exit(1);
 }
 var22 = var24;
@@ -1773,7 +1835,7 @@ RET_LABEL26:(void)0;
 var28 = (short int)((long)(var25)>>2);
 if (var28){
 {
-var29 = nit___nit__ToolContext___check_errors(self);
+var29 = nitc___nitc__ToolContext___check_errors(self);
 }
 } else {
 }
@@ -1783,7 +1845,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#fatal_error for (self: ToolContext, nullable Location, String) */
-void nit___nit__ToolContext___fatal_error(val* self, val* p0, val* p1) {
+void nitc___nitc__ToolContext___fatal_error(val* self, val* p0, val* p1) {
 val* var_l /* var l: nullable Location */;
 val* var_s /* var s: String */;
 val* var /* : Message */;
@@ -1791,15 +1853,15 @@ short int var1 /* : Bool */;
 var_l = p0;
 var_s = p1;
 {
-var = nit___nit__ToolContext___error(self, var_l, var_s);
+var = nitc___nitc__ToolContext___error(self, var_l, var_s);
 }
 {
-var1 = nit___nit__ToolContext___check_errors(self);
+var1 = nitc___nitc__ToolContext___check_errors(self);
 }
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String, String): nullable Message */
-val* nit___nit__ToolContext___warning(val* self, val* p0, val* p1, val* p2) {
+val* nitc___nitc__ToolContext___warning(val* self, val* p0, val* p1, val* p2) {
 val* var /* : nullable Message */;
 val* var_l /* var l: nullable Location */;
 val* var_tag /* var tag: String */;
@@ -1813,7 +1875,7 @@ static val* varonce;
 static val* varonce8;
 val* var9 /* : String */;
 char* var10 /* : NativeString */;
-val* var11 /* : FlatString */;
+val* var11 /* : String */;
 val* var12 /* : String */;
 short int var13 /* : Bool */;
 short int var14 /* : Bool */;
@@ -1863,10 +1925,10 @@ var_tag = p1;
 var_text = p2;
 {
 { /* Inline toolcontext#ToolContext#opt_warning (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1881,27 +1943,27 @@ RET_LABEL5:(void)0;
 }
 }
 if (unlikely(varonce==NULL)) {
-var7 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var7 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce8!=NULL)) {
 var9 = varonce8;
 } else {
 var10 = "no-";
-var11 = standard___standard__NativeString___to_s_with_length(var10, 3l);
+var11 = core__flat___NativeString___to_s_full(var10, 3l, 3l);
 var9 = var11;
 varonce8 = var9;
 }
-((struct instance_standard__NativeArray*)var7)->values[0]=var9;
+((struct instance_core__NativeArray*)var7)->values[0]=var9;
 } else {
 var7 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var7)->values[1]=var_tag;
+((struct instance_core__NativeArray*)var7)->values[1]=var_tag;
 {
-var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var7); /* native_to_s on <var7:NativeArray[String]>*/
+var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var7); /* native_to_s on <var7:NativeArray[String]>*/
 }
 varonce = var7;
 {
-var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var4, var12);
+var13 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var4, var12);
 }
 if (var13){
 var = ((val*)NULL);
@@ -1910,10 +1972,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_warning (self) on <self:ToolContext> */
-var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var17 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var15 = var17;
@@ -1928,17 +1990,17 @@ RET_LABEL19:(void)0;
 }
 }
 {
-var21 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var18, var_tag);
+var21 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var18, var_tag);
 }
 var22 = !var21;
 var_ = var22;
 if (var22){
 {
 { /* Inline toolcontext#ToolContext#opt_warn (self) on <self:ToolContext> */
-var25 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+var25 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
 if (unlikely(var25 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
 var23 = var25;
@@ -1955,7 +2017,7 @@ RET_LABEL27:(void)0;
 {
 { /* Inline kernel#Int#== (var26,0l) on <var26:nullable Object(Int)> */
 var32 = (long)(var26)>>2;
-var31 = (var26 != NULL) && (var32 == 0l);
+var31 = var32 == 0l;
 var29 = var31;
 goto RET_LABEL30;
 RET_LABEL30:(void)0;
@@ -1971,33 +2033,33 @@ goto RET_LABEL;
 } else {
 }
 {
-var33 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag);
+var33 = nitc___nitc__ToolContext___is_warning_blacklisted(self, var_l, var_tag);
 }
 if (var33){
 var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
-var34 = NEW_nit__Message(&type_nit__Message);
+var34 = NEW_nitc__Message(&type_nitc__Message);
 {
-((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var34, var_l); /* location= on <var34:Message>*/
+((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nitc__toolcontext__Message__location_61d]))(var34, var_l); /* location= on <var34:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var34, var_tag); /* tag= on <var34:Message>*/
+((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nitc__toolcontext__Message__tag_61d]))(var34, var_tag); /* tag= on <var34:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var34, var_text); /* text= on <var34:Message>*/
+((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nitc__toolcontext__Message__text_61d]))(var34, var_text); /* text= on <var34:Message>*/
 }
 {
-((void(*)(val* self))(var34->class->vft[COLOR_standard__kernel__Object__init]))(var34); /* init on <var34:Message>*/
+((void(*)(val* self))(var34->class->vft[COLOR_core__kernel__Object__init]))(var34); /* init on <var34:Message>*/
 }
 var_m = var34;
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var37 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var37 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var37 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var35 = var37;
@@ -2005,7 +2067,7 @@ RET_LABEL36:(void)0;
 }
 }
 {
-var38 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var35, var_m);
+var38 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var35, var_m);
 }
 if (var38){
 var = ((val*)NULL);
@@ -2021,7 +2083,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_l,((val*)NULL)) on <var_l:nullable Location> */
 var_other = ((val*)NULL);
 {
-var42 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
+var42 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
 }
 var43 = !var42;
 var40 = var43;
@@ -2032,16 +2094,16 @@ var39 = var40;
 }
 if (var39){
 {
-nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
+nitc__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var46 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var46 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var46 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var44 = var46;
@@ -2049,11 +2111,11 @@ RET_LABEL45:(void)0;
 }
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var44, var_m); /* Direct call array#Array#add on <var44:Array[Message]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var44, var_m); /* Direct call array#Array#add on <var44:Array[Message]>*/
 }
 {
 { /* Inline toolcontext#ToolContext#warning_count (self) on <self:ToolContext> */
-var49 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
+var49 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
 var47 = var49;
 RET_LABEL48:(void)0;
 }
@@ -2064,9 +2126,9 @@ RET_LABEL48:(void)0;
 /* <1l:Int> isa OTHER */
 var52 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var52)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var53 = var47 + 1l;
@@ -2077,16 +2139,16 @@ RET_LABEL51:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#warning_count= (self,var50) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var50; /* _warning_count on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l = var50; /* _warning_count on <self:ToolContext> */
 RET_LABEL54:(void)0;
 }
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on <self:ToolContext> */
-var57 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
+var57 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
 if (unlikely(var57 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 375);
 fatal_exit(1);
 }
 var55 = var57;
@@ -2103,7 +2165,7 @@ RET_LABEL59:(void)0;
 var61 = (short int)((long)(var58)>>2);
 if (var61){
 {
-var62 = nit___nit__ToolContext___check_errors(self);
+var62 = nitc___nitc__ToolContext___check_errors(self);
 }
 } else {
 }
@@ -2113,7 +2175,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#advice for (self: ToolContext, nullable Location, String, String): nullable Message */
-val* nit___nit__ToolContext___advice(val* self, val* p0, val* p1, val* p2) {
+val* nitc___nitc__ToolContext___advice(val* self, val* p0, val* p1, val* p2) {
 val* var /* : nullable Message */;
 val* var_l /* var l: nullable Location */;
 val* var_tag /* var tag: String */;
@@ -2127,7 +2189,7 @@ static val* varonce;
 static val* varonce8;
 val* var9 /* : String */;
 char* var10 /* : NativeString */;
-val* var11 /* : FlatString */;
+val* var11 /* : String */;
 val* var12 /* : String */;
 short int var13 /* : Bool */;
 short int var14 /* : Bool */;
@@ -2181,10 +2243,10 @@ var_tag = p1;
 var_text = p2;
 {
 { /* Inline toolcontext#ToolContext#opt_warning (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var1 = var3;
@@ -2199,27 +2261,27 @@ RET_LABEL5:(void)0;
 }
 }
 if (unlikely(varonce==NULL)) {
-var7 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var7 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce8!=NULL)) {
 var9 = varonce8;
 } else {
 var10 = "no-";
-var11 = standard___standard__NativeString___to_s_with_length(var10, 3l);
+var11 = core__flat___NativeString___to_s_full(var10, 3l, 3l);
 var9 = var11;
 varonce8 = var9;
 }
-((struct instance_standard__NativeArray*)var7)->values[0]=var9;
+((struct instance_core__NativeArray*)var7)->values[0]=var9;
 } else {
 var7 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var7)->values[1]=var_tag;
+((struct instance_core__NativeArray*)var7)->values[1]=var_tag;
 {
-var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var7); /* native_to_s on <var7:NativeArray[String]>*/
+var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var7); /* native_to_s on <var7:NativeArray[String]>*/
 }
 varonce = var7;
 {
-var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var4, var12);
+var13 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var4, var12);
 }
 if (var13){
 var = ((val*)NULL);
@@ -2228,10 +2290,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_warning (self) on <self:ToolContext> */
-var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var17 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var15 = var17;
@@ -2246,17 +2308,17 @@ RET_LABEL19:(void)0;
 }
 }
 {
-var21 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var18, var_tag);
+var21 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var18, var_tag);
 }
 var22 = !var21;
 var_ = var22;
 if (var22){
 {
 { /* Inline toolcontext#ToolContext#opt_warn (self) on <self:ToolContext> */
-var25 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+var25 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
 if (unlikely(var25 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
 var23 = var25;
@@ -2276,9 +2338,9 @@ RET_LABEL27:(void)0;
 /* <1l:Int> isa OTHER */
 var31 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var31)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var32 = (long)(var26)>>2;
@@ -2298,33 +2360,33 @@ goto RET_LABEL;
 } else {
 }
 {
-var34 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag);
+var34 = nitc___nitc__ToolContext___is_warning_blacklisted(self, var_l, var_tag);
 }
 if (var34){
 var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
-var35 = NEW_nit__Message(&type_nit__Message);
+var35 = NEW_nitc__Message(&type_nitc__Message);
 {
-((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var35, var_l); /* location= on <var35:Message>*/
+((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nitc__toolcontext__Message__location_61d]))(var35, var_l); /* location= on <var35:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var35, var_tag); /* tag= on <var35:Message>*/
+((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nitc__toolcontext__Message__tag_61d]))(var35, var_tag); /* tag= on <var35:Message>*/
 }
 {
-((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var35, var_text); /* text= on <var35:Message>*/
+((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nitc__toolcontext__Message__text_61d]))(var35, var_text); /* text= on <var35:Message>*/
 }
 {
-((void(*)(val* self))(var35->class->vft[COLOR_standard__kernel__Object__init]))(var35); /* init on <var35:Message>*/
+((void(*)(val* self))(var35->class->vft[COLOR_core__kernel__Object__init]))(var35); /* init on <var35:Message>*/
 }
 var_m = var35;
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var38 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var38 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var36 = var38;
@@ -2332,7 +2394,7 @@ RET_LABEL37:(void)0;
 }
 }
 {
-var39 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var36, var_m);
+var39 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var36, var_m);
 }
 if (var39){
 var = ((val*)NULL);
@@ -2348,7 +2410,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_l,((val*)NULL)) on <var_l:nullable Location> */
 var_other = ((val*)NULL);
 {
-var43 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
+var43 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Location(Location)>*/
 }
 var44 = !var43;
 var41 = var44;
@@ -2359,16 +2421,16 @@ var40 = var41;
 }
 if (var40){
 {
-nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
+nitc__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on <var_l:nullable Location(Location)>*/
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#messages (self) on <self:ToolContext> */
-var47 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
+var47 = self->attrs[COLOR_nitc__toolcontext__ToolContext___messages].val; /* _messages on <self:ToolContext> */
 if (unlikely(var47 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 143);
 fatal_exit(1);
 }
 var45 = var47;
@@ -2376,11 +2438,11 @@ RET_LABEL46:(void)0;
 }
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var45, var_m); /* Direct call array#Array#add on <var45:Array[Message]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var45, var_m); /* Direct call array#Array#add on <var45:Array[Message]>*/
 }
 {
 { /* Inline toolcontext#ToolContext#warning_count (self) on <self:ToolContext> */
-var50 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
+var50 = self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l; /* _warning_count on <self:ToolContext> */
 var48 = var50;
 RET_LABEL49:(void)0;
 }
@@ -2391,9 +2453,9 @@ RET_LABEL49:(void)0;
 /* <1l:Int> isa OTHER */
 var53 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var53)) {
-var_class_name56 = type_standard__Int.name;
+var_class_name56 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var57 = var48 + 1l;
@@ -2404,16 +2466,16 @@ RET_LABEL52:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#warning_count= (self,var51) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var51; /* _warning_count on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___warning_count].l = var51; /* _warning_count on <self:ToolContext> */
 RET_LABEL58:(void)0;
 }
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on <self:ToolContext> */
-var61 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
+var61 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
 if (unlikely(var61 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 375);
 fatal_exit(1);
 }
 var59 = var61;
@@ -2430,7 +2492,7 @@ RET_LABEL63:(void)0;
 var65 = (short int)((long)(var62)>>2);
 if (var65){
 {
-var66 = nit___nit__ToolContext___check_errors(self);
+var66 = nitc___nitc__ToolContext___check_errors(self);
 }
 } else {
 }
@@ -2440,7 +2502,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#info for (self: ToolContext, String, Int) */
-void nit___nit__ToolContext___info(val* self, val* p0, long p1) {
+void nitc___nitc__ToolContext___info(val* self, val* p0, long p1) {
 val* var_s /* var s: String */;
 long var_level /* var level: Int */;
 long var /* : Int */;
@@ -2469,12 +2531,12 @@ val* var23 /* : nullable Writer */;
 static val* varonce24;
 val* var25 /* : String */;
 char* var26 /* : NativeString */;
-val* var27 /* : FlatString */;
+val* var27 /* : String */;
 var_s = p0;
 var_level = p1;
 {
 { /* Inline toolcontext#ToolContext#verbose_level (self) on <self:ToolContext> */
-var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l; /* _verbose_level on <self:ToolContext> */
+var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___verbose_level].l; /* _verbose_level on <self:ToolContext> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -2485,9 +2547,9 @@ RET_LABEL1:(void)0;
 /* <var:Int> isa OTHER */
 var5 = 1; /* easy <var:Int> isa OTHER*/
 if (unlikely(!var5)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var6 = var_level <= var;
@@ -2499,24 +2561,24 @@ RET_LABEL4:(void)0;
 if (var3){
 var7 = glob_sys;
 if (unlikely(varonce==NULL)) {
-var8 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__String);
+var8 = NEW_core__NativeArray(1l, &type_core__NativeArray__core__String);
 } else {
 var8 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var8)->values[0]=var_s;
+((struct instance_core__NativeArray*)var8)->values[0]=var_s;
 {
-var9 = ((val*(*)(val* self))(var8->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var8); /* native_to_s on <var8:NativeArray[String]>*/
+var9 = ((val*(*)(val* self))(var8->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var8); /* native_to_s on <var8:NativeArray[String]>*/
 }
 varonce = var8;
 {
-standard__file___Sys___print(var7, var9); /* Direct call file#Sys#print on <var7:Sys>*/
+core__file___Sys___print(var7, var9); /* Direct call file#Sys#print on <var7:Sys>*/
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#log_info (self) on <self:ToolContext> */
-var12 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
+var12 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
 var10 = var12;
 RET_LABEL11:(void)0;
 }
@@ -2530,7 +2592,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var10,((val*)NULL)) on <var10:nullable Writer> */
 var_other = ((val*)NULL);
 {
-var16 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other); /* == on <var10:nullable Writer(Writer)>*/
+var16 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_core__kernel__Object___61d_61d]))(var10, var_other); /* == on <var10:nullable Writer(Writer)>*/
 }
 var17 = !var16;
 var14 = var17;
@@ -2542,21 +2604,21 @@ var13 = var14;
 if (var13){
 {
 { /* Inline toolcontext#ToolContext#log_info (self) on <self:ToolContext> */
-var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
+var20 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
 var18 = var20;
 RET_LABEL19:(void)0;
 }
 }
 if (var18 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 298);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 308);
 fatal_exit(1);
 } else {
-standard___standard__FileWriter___standard__stream__Writer__write(var18, var_s); /* Direct call file#FileWriter#write on <var18:nullable Writer>*/
+core___core__FileWriter___core__stream__Writer__write(var18, var_s); /* Direct call file#FileWriter#write on <var18:nullable Writer>*/
 }
 {
 { /* Inline toolcontext#ToolContext#log_info (self) on <self:ToolContext> */
-var23 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
+var23 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val; /* _log_info on <self:ToolContext> */
 var21 = var23;
 RET_LABEL22:(void)0;
 }
@@ -2565,29 +2627,29 @@ if (likely(varonce24!=NULL)) {
 var25 = varonce24;
 } else {
 var26 = "\n";
-var27 = standard___standard__NativeString___to_s_with_length(var26, 1l);
+var27 = core__flat___NativeString___to_s_full(var26, 1l, 1l);
 var25 = var27;
 varonce24 = var25;
 }
 if (var21 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 299);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 309);
 fatal_exit(1);
 } else {
-standard___standard__FileWriter___standard__stream__Writer__write(var21, var25); /* Direct call file#FileWriter#write on <var21:nullable Writer>*/
+core___core__FileWriter___core__stream__Writer__write(var21, var25); /* Direct call file#FileWriter#write on <var21:nullable Writer>*/
 }
 } else {
 }
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#option_context for (self: ToolContext): OptionContext */
-val* nit___nit__ToolContext___option_context(val* self) {
+val* nitc___nitc__ToolContext___option_context(val* self) {
 val* var /* : OptionContext */;
 val* var1 /* : OptionContext */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
 var = var1;
@@ -2595,13 +2657,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_warn for (self: ToolContext): OptionCount */
-val* nit___nit__ToolContext___opt_warn(val* self) {
+val* nitc___nitc__ToolContext___opt_warn(val* self) {
 val* var /* : OptionCount */;
 val* var1 /* : OptionCount */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
 var = var1;
@@ -2609,13 +2671,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_warning for (self: ToolContext): OptionArray */
-val* nit___nit__ToolContext___opt_warning(val* self) {
+val* nitc___nitc__ToolContext___opt_warning(val* self) {
 val* var /* : OptionArray */;
 val* var1 /* : OptionArray */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var = var1;
@@ -2623,13 +2685,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_quiet for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_quiet(val* self) {
+val* nitc___nitc__ToolContext___opt_quiet(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 351);
 fatal_exit(1);
 }
 var = var1;
@@ -2637,13 +2699,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_log for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_log(val* self) {
+val* nitc___nitc__ToolContext___opt_log(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 354);
 fatal_exit(1);
 }
 var = var1;
@@ -2651,13 +2713,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_log_dir for (self: ToolContext): OptionString */
-val* nit___nit__ToolContext___opt_log_dir(val* self) {
+val* nitc___nitc__ToolContext___opt_log_dir(val* self) {
 val* var /* : OptionString */;
 val* var1 /* : OptionString */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357);
 fatal_exit(1);
 }
 var = var1;
@@ -2665,13 +2727,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_nit_dir for (self: ToolContext): OptionString */
-val* nit___nit__ToolContext___opt_nit_dir(val* self) {
+val* nitc___nitc__ToolContext___opt_nit_dir(val* self) {
 val* var /* : OptionString */;
 val* var1 /* : OptionString */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 360);
 fatal_exit(1);
 }
 var = var1;
@@ -2679,13 +2741,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_help for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_help(val* self) {
+val* nitc___nitc__ToolContext___opt_help(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 363);
 fatal_exit(1);
 }
 var = var1;
@@ -2693,13 +2755,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_version for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_version(val* self) {
+val* nitc___nitc__ToolContext___opt_version(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 366);
 fatal_exit(1);
 }
 var = var1;
@@ -2707,13 +2769,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_set_dummy_tool for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_set_dummy_tool(val* self) {
+val* nitc___nitc__ToolContext___opt_set_dummy_tool(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 369);
 fatal_exit(1);
 }
 var = var1;
@@ -2721,13 +2783,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_verbose for (self: ToolContext): OptionCount */
-val* nit___nit__ToolContext___opt_verbose(val* self) {
+val* nitc___nitc__ToolContext___opt_verbose(val* self) {
 val* var /* : OptionCount */;
 val* var1 /* : OptionCount */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 372);
 fatal_exit(1);
 }
 var = var1;
@@ -2735,13 +2797,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_stop_on_first_error for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_stop_on_first_error(val* self) {
+val* nitc___nitc__ToolContext___opt_stop_on_first_error(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 375);
 fatal_exit(1);
 }
 var = var1;
@@ -2749,13 +2811,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_keep_going for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_keep_going(val* self) {
+val* nitc___nitc__ToolContext___opt_keep_going(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 378);
 fatal_exit(1);
 }
 var = var1;
@@ -2763,13 +2825,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_no_color for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_no_color(val* self) {
+val* nitc___nitc__ToolContext___opt_no_color(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 381);
 fatal_exit(1);
 }
 var = var1;
@@ -2777,13 +2839,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_bash_completion for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_bash_completion(val* self) {
+val* nitc___nitc__ToolContext___opt_bash_completion(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 384);
 fatal_exit(1);
 }
 var = var1;
@@ -2791,13 +2853,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#opt_stub_man for (self: ToolContext): OptionBool */
-val* nit___nit__ToolContext___opt_stub_man(val* self) {
+val* nitc___nitc__ToolContext___opt_stub_man(val* self) {
 val* var /* : OptionBool */;
 val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 387);
 fatal_exit(1);
 }
 var = var1;
@@ -2805,21 +2867,21 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#verbose_level for (self: ToolContext): Int */
-long nit___nit__ToolContext___verbose_level(val* self) {
+long nitc___nitc__ToolContext___verbose_level(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l; /* _verbose_level on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___verbose_level].l; /* _verbose_level on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#verbose_level= for (self: ToolContext, Int) */
-void nit___nit__ToolContext___verbose_level_61d(val* self, long p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l = p0; /* _verbose_level on <self:ToolContext> */
+void nitc___nitc__ToolContext___verbose_level_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___verbose_level].l = p0; /* _verbose_level on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#init for (self: ToolContext) */
-void nit___nit__ToolContext___standard__kernel__Object__init(val* self) {
+void nitc___nitc__ToolContext___core__kernel__Object__init(val* self) {
 val* var /* : OptionContext */;
 val* var2 /* : OptionContext */;
 val* var3 /* : OptionCount */;
@@ -2861,11 +2923,14 @@ val* var56 /* : OptionBool */;
 val* var58 /* : OptionBool */;
 val* var60 /* : OptionBool */;
 {
+((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__ToolContext___core__kernel__Object__init]))(self); /* init on <self:ToolContext>*/
+}
+{
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
 var = var2;
@@ -2874,10 +2939,10 @@ RET_LABEL1:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_warn (self) on <self:ToolContext> */
-var5 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+var5 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
 if (unlikely(var5 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
 var3 = var5;
@@ -2886,10 +2951,10 @@ RET_LABEL4:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_warning (self) on <self:ToolContext> */
-var8 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
+var8 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on <self:ToolContext> */
 if (unlikely(var8 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 348);
 fatal_exit(1);
 }
 var6 = var8;
@@ -2898,10 +2963,10 @@ RET_LABEL7:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_quiet (self) on <self:ToolContext> */
-var11 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
+var11 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
 if (unlikely(var11 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 351);
 fatal_exit(1);
 }
 var9 = var11;
@@ -2910,10 +2975,10 @@ RET_LABEL10:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on <self:ToolContext> */
-var14 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
+var14 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on <self:ToolContext> */
 if (unlikely(var14 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 375);
 fatal_exit(1);
 }
 var12 = var14;
@@ -2922,10 +2987,10 @@ RET_LABEL13:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_keep_going (self) on <self:ToolContext> */
-var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
+var17 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 378);
 fatal_exit(1);
 }
 var15 = var17;
@@ -2934,10 +2999,10 @@ RET_LABEL16:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_no_color (self) on <self:ToolContext> */
-var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
+var20 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on <self:ToolContext> */
 if (unlikely(var20 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 381);
 fatal_exit(1);
 }
 var18 = var20;
@@ -2946,10 +3011,10 @@ RET_LABEL19:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_log (self) on <self:ToolContext> */
-var23 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
+var23 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
 if (unlikely(var23 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 354);
 fatal_exit(1);
 }
 var21 = var23;
@@ -2958,10 +3023,10 @@ RET_LABEL22:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_log_dir (self) on <self:ToolContext> */
-var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
+var26 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
 if (unlikely(var26 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357);
 fatal_exit(1);
 }
 var24 = var26;
@@ -2970,10 +3035,10 @@ RET_LABEL25:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_nit_dir (self) on <self:ToolContext> */
-var29 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
+var29 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
 if (unlikely(var29 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 360);
 fatal_exit(1);
 }
 var27 = var29;
@@ -2982,10 +3047,10 @@ RET_LABEL28:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_help (self) on <self:ToolContext> */
-var32 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
+var32 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
 if (unlikely(var32 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 363);
 fatal_exit(1);
 }
 var30 = var32;
@@ -2994,10 +3059,10 @@ RET_LABEL31:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_version (self) on <self:ToolContext> */
-var35 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
+var35 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
 if (unlikely(var35 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 366);
 fatal_exit(1);
 }
 var33 = var35;
@@ -3006,10 +3071,10 @@ RET_LABEL34:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on <self:ToolContext> */
-var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
+var38 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
 if (unlikely(var38 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 369);
 fatal_exit(1);
 }
 var36 = var38;
@@ -3018,10 +3083,10 @@ RET_LABEL37:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_verbose (self) on <self:ToolContext> */
-var41 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
+var41 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
 if (unlikely(var41 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 372);
 fatal_exit(1);
 }
 var39 = var41;
@@ -3030,10 +3095,10 @@ RET_LABEL40:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_bash_completion (self) on <self:ToolContext> */
-var44 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
+var44 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
 if (unlikely(var44 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 384);
 fatal_exit(1);
 }
 var42 = var44;
@@ -3042,36 +3107,36 @@ RET_LABEL43:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stub_man (self) on <self:ToolContext> */
-var47 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
+var47 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
 if (unlikely(var47 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 387);
 fatal_exit(1);
 }
 var45 = var47;
 RET_LABEL46:(void)0;
 }
 }
-var48 = NEW_standard__Array(&type_standard__Array__opts__Option);
+var48 = NEW_core__Array(&type_core__Array__opts__Option);
 { /* var48 = array_instance Array[Option] */
-var49 = NEW_standard__NativeArray(15l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var49)->values[0] = (val*) var3;
-((struct instance_standard__NativeArray*)var49)->values[1] = (val*) var6;
-((struct instance_standard__NativeArray*)var49)->values[2] = (val*) var9;
-((struct instance_standard__NativeArray*)var49)->values[3] = (val*) var12;
-((struct instance_standard__NativeArray*)var49)->values[4] = (val*) var15;
-((struct instance_standard__NativeArray*)var49)->values[5] = (val*) var18;
-((struct instance_standard__NativeArray*)var49)->values[6] = (val*) var21;
-((struct instance_standard__NativeArray*)var49)->values[7] = (val*) var24;
-((struct instance_standard__NativeArray*)var49)->values[8] = (val*) var27;
-((struct instance_standard__NativeArray*)var49)->values[9] = (val*) var30;
-((struct instance_standard__NativeArray*)var49)->values[10] = (val*) var33;
-((struct instance_standard__NativeArray*)var49)->values[11] = (val*) var36;
-((struct instance_standard__NativeArray*)var49)->values[12] = (val*) var39;
-((struct instance_standard__NativeArray*)var49)->values[13] = (val*) var42;
-((struct instance_standard__NativeArray*)var49)->values[14] = (val*) var45;
-{
-((void(*)(val* self, val* p0, long p1))(var48->class->vft[COLOR_standard__array__Array__with_native]))(var48, var49, 15l); /* with_native on <var48:Array[Option]>*/
+var49 = NEW_core__NativeArray(15l, &type_core__NativeArray__opts__Option);
+((struct instance_core__NativeArray*)var49)->values[0] = (val*) var3;
+((struct instance_core__NativeArray*)var49)->values[1] = (val*) var6;
+((struct instance_core__NativeArray*)var49)->values[2] = (val*) var9;
+((struct instance_core__NativeArray*)var49)->values[3] = (val*) var12;
+((struct instance_core__NativeArray*)var49)->values[4] = (val*) var15;
+((struct instance_core__NativeArray*)var49)->values[5] = (val*) var18;
+((struct instance_core__NativeArray*)var49)->values[6] = (val*) var21;
+((struct instance_core__NativeArray*)var49)->values[7] = (val*) var24;
+((struct instance_core__NativeArray*)var49)->values[8] = (val*) var27;
+((struct instance_core__NativeArray*)var49)->values[9] = (val*) var30;
+((struct instance_core__NativeArray*)var49)->values[10] = (val*) var33;
+((struct instance_core__NativeArray*)var49)->values[11] = (val*) var36;
+((struct instance_core__NativeArray*)var49)->values[12] = (val*) var39;
+((struct instance_core__NativeArray*)var49)->values[13] = (val*) var42;
+((struct instance_core__NativeArray*)var49)->values[14] = (val*) var45;
+{
+((void(*)(val* self, val* p0, long p1))(var48->class->vft[COLOR_core__array__Array__with_native]))(var48, var49, 15l); /* with_native on <var48:Array[Option]>*/
 }
 }
 {
@@ -3079,10 +3144,10 @@ opts___opts__OptionContext___add_option(var, var48); /* Direct call opts#OptionC
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stub_man (self) on <self:ToolContext> */
-var52 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
+var52 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
 if (unlikely(var52 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 387);
 fatal_exit(1);
 }
 var50 = var52;
@@ -3097,10 +3162,10 @@ RET_LABEL53:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_bash_completion (self) on <self:ToolContext> */
-var56 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
+var56 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
 if (unlikely(var56 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 384);
 fatal_exit(1);
 }
 var54 = var56;
@@ -3115,10 +3180,10 @@ RET_LABEL57:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on <self:ToolContext> */
-var60 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
+var60 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
 if (unlikely(var60 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 369);
 fatal_exit(1);
 }
 var58 = var60;
@@ -3134,13 +3199,13 @@ RET_LABEL61:(void)0;
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#tooldescription for (self: ToolContext): String */
-val* nit___nit__ToolContext___tooldescription(val* self) {
+val* nitc___nitc__ToolContext___tooldescription(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 403);
 fatal_exit(1);
 }
 var = var1;
@@ -3148,21 +3213,21 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#tooldescription= for (self: ToolContext, String) */
-void nit___nit__ToolContext___tooldescription_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val = p0; /* _tooldescription on <self:ToolContext> */
+void nitc___nitc__ToolContext___tooldescription_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val = p0; /* _tooldescription on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#accept_no_arguments for (self: ToolContext): Bool */
-short int nit___nit__ToolContext___accept_no_arguments(val* self) {
+short int nitc___nitc__ToolContext___accept_no_arguments(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on <self:ToolContext> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#usage for (self: ToolContext) */
-void nit___nit__ToolContext___usage(val* self) {
+void nitc___nitc__ToolContext___usage(val* self) {
 val* var /* : Sys */;
 val* var1 /* : String */;
 val* var3 /* : String */;
@@ -3171,10 +3236,10 @@ val* var6 /* : OptionContext */;
 var = glob_sys;
 {
 { /* Inline toolcontext#ToolContext#tooldescription (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 403);
 fatal_exit(1);
 }
 var1 = var3;
@@ -3182,14 +3247,14 @@ RET_LABEL2:(void)0;
 }
 }
 {
-standard__file___Sys___print(var, var1); /* Direct call file#Sys#print on <var:Sys>*/
+core__file___Sys___print(var, var1); /* Direct call file#Sys#print on <var:Sys>*/
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var6 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+var6 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
 if (unlikely(var6 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
 var4 = var6;
@@ -3202,7 +3267,7 @@ opts___opts__OptionContext___usage(var4); /* Direct call opts#OptionContext#usag
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
-void nit___nit__ToolContext___process_options(val* self, val* p0) {
+void nitc___nitc__ToolContext___process_options(val* self, val* p0) {
 val* var_args /* var args: Sequence[String] */;
 val* var /* : OptionCount */;
 val* var2 /* : OptionCount */;
@@ -3250,206 +3315,202 @@ static val* varonce;
 static val* varonce52;
 val* var53 /* : String */;
 char* var54 /* : NativeString */;
-val* var55 /* : FlatString */;
+val* var55 /* : String */;
 static val* varonce56;
 val* var57 /* : String */;
 char* var58 /* : NativeString */;
-val* var59 /* : FlatString */;
-static val* varonce60;
-val* var61 /* : String */;
-char* var62 /* : NativeString */;
-val* var63 /* : FlatString */;
-static val* varonce64;
-val* var65 /* : String */;
-char* var66 /* : NativeString */;
-val* var67 /* : FlatString */;
-val* var68 /* : String */;
+val* var59 /* : String */;
+val* var60 /* : String */;
+val* var62 /* : String */;
+static val* varonce63;
+val* var64 /* : String */;
+char* var65 /* : NativeString */;
+val* var66 /* : String */;
+val* var67 /* : Array[String] */;
+val* var68 /* : nullable Object */;
 val* var69 /* : String */;
-val* var70 /* : String */;
-val* var72 /* : String */;
-static val* varonce73;
-val* var74 /* : String */;
-char* var75 /* : NativeString */;
-val* var76 /* : FlatString */;
-val* var77 /* : Array[String] */;
-val* var78 /* : nullable Object */;
-val* var79 /* : String */;
-val* var80 /* : String */;
-val* var81 /* : OptionContext */;
-val* var83 /* : OptionContext */;
-val* var84 /* : Array[Option] */;
-val* var86 /* : Array[Option] */;
+val* var70 /* : OptionContext */;
+val* var72 /* : OptionContext */;
+val* var73 /* : Array[Option] */;
+val* var75 /* : Array[Option] */;
 val* var_ /* var : Array[Option] */;
-val* var87 /* : ArrayIterator[nullable Object] */;
-val* var_88 /* var : ArrayIterator[Option] */;
-short int var89 /* : Bool */;
-val* var90 /* : nullable Object */;
+val* var76 /* : IndexedIterator[nullable Object] */;
+val* var_77 /* var : IndexedIterator[Option] */;
+short int var78 /* : Bool */;
+val* var79 /* : nullable Object */;
 val* var_o /* var o: Option */;
 short int var_first /* var first: Bool */;
-val* var91 /* : Array[String] */;
-val* var93 /* : Array[String] */;
-val* var_94 /* var : Array[String] */;
-val* var95 /* : ArrayIterator[nullable Object] */;
-val* var_96 /* var : ArrayIterator[String] */;
-short int var97 /* : Bool */;
-val* var98 /* : nullable Object */;
+val* var80 /* : Sys */;
+static val* varonce81;
+val* var82 /* : String */;
+char* var83 /* : NativeString */;
+val* var84 /* : String */;
+val* var85 /* : Array[Object] */;
+val* var86 /* : NativeArray[Object] */;
+val* var87 /* : Array[String] */;
+val* var89 /* : Array[String] */;
+val* var_90 /* var : Array[String] */;
+val* var91 /* : IndexedIterator[nullable Object] */;
+val* var_92 /* var : IndexedIterator[String] */;
+short int var93 /* : Bool */;
+val* var95 /* : nullable Object */;
 val* var_n /* var n: String */;
-val* var99 /* : Sys */;
-static val* varonce100;
-val* var101 /* : String */;
-char* var102 /* : NativeString */;
-val* var103 /* : FlatString */;
-val* var104 /* : Array[Object] */;
-val* var105 /* : NativeArray[Object] */;
-val* var106 /* : Sys */;
-val* var108 /* : NativeArray[String] */;
-static val* varonce107;
-static val* varonce109;
-val* var110 /* : String */;
-char* var111 /* : NativeString */;
-val* var112 /* : FlatString */;
-static val* varonce113;
+val* var96 /* : Sys */;
+static val* varonce97;
+val* var98 /* : String */;
+char* var99 /* : NativeString */;
+val* var100 /* : String */;
+val* var101 /* : Array[Object] */;
+val* var102 /* : NativeArray[Object] */;
+val* var103 /* : Sys */;
+val* var105 /* : NativeArray[String] */;
+static val* varonce104;
+static val* varonce106;
+val* var107 /* : String */;
+char* var108 /* : NativeString */;
+val* var109 /* : String */;
+static val* varonce110;
+val* var111 /* : String */;
+char* var112 /* : NativeString */;
+val* var113 /* : String */;
 val* var114 /* : String */;
-char* var115 /* : NativeString */;
-val* var116 /* : FlatString */;
-val* var117 /* : String */;
-val* var118 /* : Array[Object] */;
-val* var119 /* : NativeArray[Object] */;
-val* var120 /* : Sys */;
-static val* varonce121;
-val* var122 /* : String */;
-char* var123 /* : NativeString */;
-val* var124 /* : FlatString */;
-val* var125 /* : Sys */;
-val* var127 /* : NativeArray[String] */;
-static val* varonce126;
-static val* varonce128;
+val* var115 /* : Array[Object] */;
+val* var116 /* : NativeArray[Object] */;
+val* var117 /* : Sys */;
+static val* varonce118;
+val* var119 /* : String */;
+char* var120 /* : NativeString */;
+val* var121 /* : String */;
+val* var122 /* : Sys */;
+val* var124 /* : NativeArray[String] */;
+static val* varonce123;
+static val* varonce125;
+val* var126 /* : String */;
+char* var127 /* : NativeString */;
+val* var128 /* : String */;
 val* var129 /* : String */;
-char* var130 /* : NativeString */;
-val* var131 /* : FlatString */;
+val* var131 /* : String */;
 val* var132 /* : String */;
-val* var134 /* : String */;
+val* var133 /* : Sys */;
+static val* varonce134;
 val* var135 /* : String */;
-val* var136 /* : Sys */;
-static val* varonce137;
-val* var138 /* : String */;
-char* var139 /* : NativeString */;
-val* var140 /* : FlatString */;
-val* var142 /* : Sys */;
-static val* varonce143;
-val* var144 /* : String */;
-char* var145 /* : NativeString */;
-val* var146 /* : FlatString */;
-val* var147 /* : Sys */;
-val* var149 /* : OptionContext */;
-val* var151 /* : OptionContext */;
-val* var152 /* : Array[String] */;
+char* var136 /* : NativeString */;
+val* var137 /* : String */;
+val* var138 /* : Sys */;
+static val* varonce139;
+val* var140 /* : String */;
+char* var141 /* : NativeString */;
+val* var142 /* : String */;
+val* var143 /* : Sys */;
+val* var145 /* : OptionContext */;
+val* var147 /* : OptionContext */;
+val* var148 /* : Array[String] */;
 val* var_errors /* var errors: Array[String] */;
-short int var153 /* : Bool */;
+short int var149 /* : Bool */;
+short int var150 /* : Bool */;
+val* var_151 /* var : Array[String] */;
+val* var152 /* : IndexedIterator[nullable Object] */;
+val* var_153 /* var : IndexedIterator[String] */;
 short int var154 /* : Bool */;
-val* var_155 /* var : Array[String] */;
-val* var156 /* : ArrayIterator[nullable Object] */;
-val* var_157 /* var : ArrayIterator[String] */;
-short int var158 /* : Bool */;
-val* var159 /* : nullable Object */;
+val* var156 /* : nullable Object */;
 val* var_e /* var e: String */;
-val* var160 /* : Sys */;
-val* var162 /* : NativeArray[String] */;
-static val* varonce161;
-static val* varonce163;
+val* var157 /* : Sys */;
+val* var159 /* : NativeArray[String] */;
+static val* varonce158;
+static val* varonce160;
+val* var161 /* : String */;
+char* var162 /* : NativeString */;
+val* var163 /* : String */;
 val* var164 /* : String */;
-char* var165 /* : NativeString */;
-val* var166 /* : FlatString */;
-val* var167 /* : String */;
+val* var165 /* : Sys */;
+val* var166 /* : String */;
+val* var168 /* : String */;
 val* var169 /* : Sys */;
-val* var170 /* : String */;
-val* var172 /* : String */;
-val* var173 /* : Sys */;
-static val* varonce174;
-val* var175 /* : String */;
-char* var176 /* : NativeString */;
-val* var177 /* : FlatString */;
-val* var178 /* : Sys */;
-val* var180 /* : String */;
-short int var182 /* : Bool */;
-val* var183 /* : OptionContext */;
-val* var185 /* : OptionContext */;
-val* var186 /* : Array[String] */;
-val* var188 /* : Array[String] */;
+static val* varonce170;
+val* var171 /* : String */;
+char* var172 /* : NativeString */;
+val* var173 /* : String */;
+val* var174 /* : Sys */;
+val* var176 /* : String */;
+short int var178 /* : Bool */;
+val* var179 /* : OptionContext */;
+val* var181 /* : OptionContext */;
+val* var182 /* : Array[String] */;
+val* var184 /* : Array[String] */;
+short int var185 /* : Bool */;
+short int var_186 /* var : Bool */;
+short int var187 /* : Bool */;
 short int var189 /* : Bool */;
-short int var_190 /* var : Bool */;
-short int var191 /* : Bool */;
-short int var193 /* : Bool */;
-short int var194 /* : Bool */;
+short int var190 /* : Bool */;
+val* var191 /* : Sys */;
+val* var192 /* : String */;
+val* var194 /* : String */;
 val* var195 /* : Sys */;
-val* var196 /* : String */;
-val* var198 /* : String */;
-val* var199 /* : Sys */;
-static val* varonce200;
-val* var201 /* : String */;
-char* var202 /* : NativeString */;
-val* var203 /* : FlatString */;
-val* var204 /* : Sys */;
-val* var206 /* : OptionCount */;
-val* var208 /* : OptionCount */;
-val* var209 /* : nullable Object */;
-val* var211 /* : nullable Object */;
-long var213 /* : Int */;
-val* var214 /* : OptionBool */;
-val* var216 /* : OptionBool */;
-val* var217 /* : nullable Object */;
-val* var219 /* : nullable Object */;
-short int var220 /* : Bool */;
-val* var222 /* : OptionBool */;
-val* var224 /* : OptionBool */;
-val* var225 /* : nullable Object */;
-val* var227 /* : nullable Object */;
-short int var228 /* : Bool */;
-val* var229 /* : OptionCount */;
-val* var231 /* : OptionCount */;
-short int var233 /* : Bool */;
-int cltype234;
-int idtype235;
-const struct type* type_struct236;
-const char* var_class_name237;
+static val* varonce196;
+val* var197 /* : String */;
+char* var198 /* : NativeString */;
+val* var199 /* : String */;
+val* var200 /* : Sys */;
+val* var202 /* : OptionCount */;
+val* var204 /* : OptionCount */;
+val* var205 /* : nullable Object */;
+val* var207 /* : nullable Object */;
+long var209 /* : Int */;
+val* var210 /* : OptionBool */;
+val* var212 /* : OptionBool */;
+val* var213 /* : nullable Object */;
+val* var215 /* : nullable Object */;
+short int var216 /* : Bool */;
+val* var218 /* : OptionBool */;
+val* var220 /* : OptionBool */;
+val* var221 /* : nullable Object */;
+val* var223 /* : nullable Object */;
+short int var224 /* : Bool */;
+val* var225 /* : OptionCount */;
+val* var227 /* : OptionCount */;
+short int var229 /* : Bool */;
+int cltype230;
+int idtype231;
+const struct type* type_struct232;
+const char* var_class_name233;
+val* var234 /* : nullable Object */;
+val* var235 /* : OptionString */;
+val* var237 /* : OptionString */;
 val* var238 /* : nullable Object */;
-val* var239 /* : OptionString */;
-val* var241 /* : OptionString */;
-val* var242 /* : nullable Object */;
-val* var244 /* : nullable Object */;
-short int var245 /* : Bool */;
-short int var246 /* : Bool */;
+val* var240 /* : nullable Object */;
+short int var241 /* : Bool */;
+short int var242 /* : Bool */;
 val* var_other /* var other: nullable Object */;
-short int var248 /* : Bool */;
-short int var249 /* : Bool */;
-val* var250 /* : OptionString */;
-val* var252 /* : OptionString */;
-val* var253 /* : nullable Object */;
-val* var255 /* : nullable Object */;
-val* var257 /* : OptionBool */;
-val* var259 /* : OptionBool */;
-val* var260 /* : nullable Object */;
-val* var262 /* : nullable Object */;
-short int var263 /* : Bool */;
+short int var244 /* : Bool */;
+short int var245 /* : Bool */;
+val* var246 /* : OptionString */;
+val* var248 /* : OptionString */;
+val* var249 /* : nullable Object */;
+val* var251 /* : nullable Object */;
+val* var253 /* : OptionBool */;
+val* var255 /* : OptionBool */;
+val* var256 /* : nullable Object */;
+val* var258 /* : nullable Object */;
+short int var259 /* : Bool */;
+val* var260 /* : String */;
+val* var262 /* : String */;
+val* var263 /* : nullable Error */;
 val* var264 /* : String */;
 val* var266 /* : String */;
-val* var267 /* : nullable Error */;
+static val* varonce267;
 val* var268 /* : String */;
+char* var269 /* : NativeString */;
 val* var270 /* : String */;
-static val* varonce271;
-val* var272 /* : String */;
-char* var273 /* : NativeString */;
-val* var274 /* : FlatString */;
-val* var275 /* : String */;
-val* var276 /* : Path */;
-val* var277 /* : FileWriter */;
+val* var271 /* : String */;
+val* var272 /* : Path */;
+val* var273 /* : FileWriter */;
 var_args = p0;
 {
 { /* Inline toolcontext#ToolContext#opt_warn (self) on <self:ToolContext> */
-var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
 var = var2;
@@ -3463,13 +3524,13 @@ RET_LABEL1:(void)0;
 type_struct = var->type->resolution_table->types[COLOR_opts__Option__VALUE];
 cltype = type_struct->color;
 idtype = type_struct->id;
-if(cltype >= (&type_standard__Int)->table_size) {
+if(cltype >= (&type_core__Int)->table_size) {
 var4 = 0;
 } else {
-var4 = (&type_standard__Int)->type_table[cltype] == idtype;
+var4 = (&type_core__Int)->type_table[cltype] == idtype;
 }
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name);
 PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
 fatal_exit(1);
@@ -3481,10 +3542,10 @@ RET_LABEL3:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var8 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+var8 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
 if (unlikely(var8 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
 var6 = var8;
@@ -3496,10 +3557,10 @@ opts___opts__OptionContext___parse(var6, var_args); /* Direct call opts#OptionCo
 }
 {
 { /* Inline toolcontext#ToolContext#opt_help (self) on <self:ToolContext> */
-var11 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
+var11 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_help].val; /* _opt_help on <self:ToolContext> */
 if (unlikely(var11 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 363);
 fatal_exit(1);
 }
 var9 = var11;
@@ -3516,7 +3577,7 @@ RET_LABEL13:(void)0;
 var15 = (short int)((long)(var12)>>2);
 if (var15){
 {
-nit___nit__ToolContext___usage(self); /* Direct call toolcontext#ToolContext#usage on <self:ToolContext>*/
+nitc___nitc__ToolContext___usage(self); /* Direct call toolcontext#ToolContext#usage on <self:ToolContext>*/
 }
 var16 = glob_sys;
 {
@@ -3529,10 +3590,10 @@ RET_LABEL17:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_version (self) on <self:ToolContext> */
-var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
+var20 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_version].val; /* _opt_version on <self:ToolContext> */
 if (unlikely(var20 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 366);
 fatal_exit(1);
 }
 var18 = var20;
@@ -3550,10 +3611,10 @@ var24 = (short int)((long)(var21)>>2);
 if (var24){
 var25 = glob_sys;
 {
-var26 = nit___nit__ToolContext___version(self);
+var26 = nitc___nitc__ToolContext___version(self);
 }
 {
-standard__file___Sys___print(var25, var26); /* Direct call file#Sys#print on <var25:Sys>*/
+core__file___Sys___print(var25, var26); /* Direct call file#Sys#print on <var25:Sys>*/
 }
 var27 = glob_sys;
 {
@@ -3566,10 +3627,10 @@ RET_LABEL28:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_bash_completion (self) on <self:ToolContext> */
-var31 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
+var31 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on <self:ToolContext> */
 if (unlikely(var31 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 384);
 fatal_exit(1);
 }
 var29 = var31;
@@ -3585,12 +3646,12 @@ RET_LABEL33:(void)0;
 }
 var35 = (short int)((long)(var32)>>2);
 if (var35){
-var36 = NEW_nit__BashCompletion(&type_nit__BashCompletion);
+var36 = NEW_nitc__BashCompletion(&type_nitc__BashCompletion);
 {
-((void(*)(val* self, val* p0))(var36->class->vft[COLOR_nit__toolcontext__BashCompletion__toolcontext_61d]))(var36, self); /* toolcontext= on <var36:BashCompletion>*/
+((void(*)(val* self, val* p0))(var36->class->vft[COLOR_nitc__toolcontext__BashCompletion__toolcontext_61d]))(var36, self); /* toolcontext= on <var36:BashCompletion>*/
 }
 {
-((void(*)(val* self))(var36->class->vft[COLOR_standard__kernel__Object__init]))(var36); /* init on <var36:BashCompletion>*/
+((void(*)(val* self))(var36->class->vft[COLOR_core__kernel__Object__init]))(var36); /* init on <var36:BashCompletion>*/
 }
 var_bash_completion = var36;
 {
@@ -3602,10 +3663,10 @@ RET_LABEL38:(void)0;
 }
 }
 {
-var40 = standard__file___Sys___stdout(var37);
+var40 = core__file___Sys___stdout(var37);
 }
 {
-template___template__Template___standard__stream__Writable__write_to(var_bash_completion, var40); /* Direct call template#Template#write_to on <var_bash_completion:BashCompletion>*/
+template___template__Template___core__stream__Writable__write_to(var_bash_completion, var40); /* Direct call template#Template#write_to on <var_bash_completion:BashCompletion>*/
 }
 var41 = glob_sys;
 {
@@ -3618,10 +3679,10 @@ RET_LABEL42:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#opt_stub_man (self) on <self:ToolContext> */
-var45 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
+var45 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on <self:ToolContext> */
 if (unlikely(var45 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 387);
 fatal_exit(1);
 }
 var43 = var45;
@@ -3639,772 +3700,763 @@ var49 = (short int)((long)(var46)>>2);
 if (var49){
 var50 = glob_sys;
 if (unlikely(varonce==NULL)) {
-var51 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String);
+var51 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce52!=NULL)) {
 var53 = varonce52;
 } else {
-var54 = "% ";
-var55 = standard___standard__NativeString___to_s_with_length(var54, 2l);
+var54 = "# NAME\n\n";
+var55 = core__flat___NativeString___to_s_full(var54, 8l, 8l);
 var53 = var55;
 varonce52 = var53;
 }
-((struct instance_standard__NativeArray*)var51)->values[0]=var53;
+((struct instance_core__NativeArray*)var51)->values[0]=var53;
 if (likely(varonce56!=NULL)) {
 var57 = varonce56;
 } else {
-var58 = "(1)\n\n# NAME\n\n";
-var59 = standard___standard__NativeString___to_s_with_length(var58, 13l);
+var58 = "\n\n# SYNOPSYS\n\n# OPTIONS\n";
+var59 = core__flat___NativeString___to_s_full(var58, 24l, 24l);
 var57 = var59;
 varonce56 = var57;
 }
-((struct instance_standard__NativeArray*)var51)->values[2]=var57;
-if (likely(varonce60!=NULL)) {
-var61 = varonce60;
-} else {
-var62 = "\n\n# SYNOPSYS\n\n";
-var63 = standard___standard__NativeString___to_s_with_length(var62, 14l);
-var61 = var63;
-varonce60 = var61;
-}
-((struct instance_standard__NativeArray*)var51)->values[4]=var61;
-if (likely(varonce64!=NULL)) {
-var65 = varonce64;
-} else {
-var66 = " [*options*]...\n\n# OPTIONS\n";
-var67 = standard___standard__NativeString___to_s_with_length(var66, 27l);
-var65 = var67;
-varonce64 = var65;
-}
-((struct instance_standard__NativeArray*)var51)->values[6]=var65;
+((struct instance_core__NativeArray*)var51)->values[2]=var57;
 } else {
 var51 = varonce;
 varonce = NULL;
 }
 {
-var68 = nit___nit__ToolContext___toolname(self);
-}
-{
-var69 = ((val*(*)(val* self))(var68->class->vft[COLOR_standard__string__String__to_upper]))(var68); /* to_upper on <var68:String>*/
-}
-((struct instance_standard__NativeArray*)var51)->values[1]=var69;
-{
 { /* Inline toolcontext#ToolContext#tooldescription (self) on <self:ToolContext> */
-var72 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
-if (unlikely(var72 == NULL)) {
+var62 = self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
+if (unlikely(var62 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 403);
 fatal_exit(1);
 }
-var70 = var72;
-RET_LABEL71:(void)0;
+var60 = var62;
+RET_LABEL61:(void)0;
 }
 }
-if (likely(varonce73!=NULL)) {
-var74 = varonce73;
+if (likely(varonce63!=NULL)) {
+var64 = varonce63;
 } else {
-var75 = "\n";
-var76 = standard___standard__NativeString___to_s_with_length(var75, 1l);
-var74 = var76;
-varonce73 = var74;
-}
-{
-var77 = standard__string_search___Text___split(var70, var74);
+var65 = "\n";
+var66 = core__flat___NativeString___to_s_full(var65, 1l, 1l);
+var64 = var66;
+varonce63 = var64;
 }
 {
-var78 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var77, 1l);
+var67 = core__string_search___Text___split(var60, var64);
 }
-((struct instance_standard__NativeArray*)var51)->values[3]=var78;
 {
-var79 = nit___nit__ToolContext___toolname(self);
+var68 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var67, 1l);
 }
-((struct instance_standard__NativeArray*)var51)->values[5]=var79;
+((struct instance_core__NativeArray*)var51)->values[1]=var68;
 {
-var80 = ((val*(*)(val* self))(var51->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var51); /* native_to_s on <var51:NativeArray[String]>*/
+var69 = ((val*(*)(val* self))(var51->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var51); /* native_to_s on <var51:NativeArray[String]>*/
 }
 varonce = var51;
 {
-standard__file___Sys___print(var50, var80); /* Direct call file#Sys#print on <var50:Sys>*/
+core__file___Sys___print(var50, var69); /* Direct call file#Sys#print on <var50:Sys>*/
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var83 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var83 == NULL)) {
+var72 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+if (unlikely(var72 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
-var81 = var83;
-RET_LABEL82:(void)0;
+var70 = var72;
+RET_LABEL71:(void)0;
 }
 }
 {
-{ /* Inline opts#OptionContext#options (var81) on <var81:OptionContext> */
-var86 = var81->attrs[COLOR_opts__OptionContext___options].val; /* _options on <var81:OptionContext> */
-if (unlikely(var86 == NULL)) {
+{ /* Inline opts#OptionContext#options (var70) on <var70:OptionContext> */
+var75 = var70->attrs[COLOR_opts__OptionContext___options].val; /* _options on <var70:OptionContext> */
+if (unlikely(var75 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264);
+PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277);
 fatal_exit(1);
 }
-var84 = var86;
-RET_LABEL85:(void)0;
+var73 = var75;
+RET_LABEL74:(void)0;
 }
 }
-var_ = var84;
+var_ = var73;
 {
-var87 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var76 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
-var_88 = var87;
+var_77 = var76;
 for(;;) {
 {
-var89 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_88);
+var78 = ((short int(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_77); /* is_ok on <var_77:IndexedIterator[Option]>*/
+}
+if (var78){
+} else {
+goto BREAK_label;
 }
-if (var89){
 {
-var90 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_88);
+var79 = ((val*(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_77); /* item on <var_77:IndexedIterator[Option]>*/
 }
-var_o = var90;
+var_o = var79;
 var_first = 1;
+var80 = glob_sys;
+if (likely(varonce81!=NULL)) {
+var82 = varonce81;
+} else {
+var83 = "### ";
+var84 = core__flat___NativeString___to_s_full(var83, 4l, 4l);
+var82 = var84;
+varonce81 = var82;
+}
+var85 = NEW_core__Array(&type_core__Array__core__Object);
+{ /* var85 = array_instance Array[Object] */
+var86 = NEW_core__NativeArray(1l, &type_core__NativeArray__core__Object);
+((struct instance_core__NativeArray*)var86)->values[0] = (val*) var82;
+{
+((void(*)(val* self, val* p0, long p1))(var85->class->vft[COLOR_core__array__Array__with_native]))(var85, var86, 1l); /* with_native on <var85:Array[Object]>*/
+}
+}
+{
+core__file___Sys___printn(var80, var85); /* Direct call file#Sys#printn on <var80:Sys>*/
+}
 {
 { /* Inline opts#Option#names (var_o) on <var_o:Option> */
-var93 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on <var_o:Option> */
-if (unlikely(var93 == NULL)) {
+var89 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on <var_o:Option> */
+if (unlikely(var89 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
 PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19);
 fatal_exit(1);
 }
-var91 = var93;
-RET_LABEL92:(void)0;
+var87 = var89;
+RET_LABEL88:(void)0;
 }
 }
-var_94 = var91;
+var_90 = var87;
 {
-var95 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_94);
+var91 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_90);
 }
-var_96 = var95;
+var_92 = var91;
 for(;;) {
 {
-var97 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_96);
+var93 = ((short int(*)(val* self))((((long)var_92&3)?class_info[((long)var_92&3)]:var_92->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_92); /* is_ok on <var_92:IndexedIterator[String]>*/
+}
+if (var93){
+} else {
+goto BREAK_label94;
 }
-if (var97){
 {
-var98 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_96);
+var95 = ((val*(*)(val* self))((((long)var_92&3)?class_info[((long)var_92&3)]:var_92->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_92); /* item on <var_92:IndexedIterator[String]>*/
 }
-var_n = var98;
+var_n = var95;
 if (var_first){
 var_first = 0;
 } else {
-var99 = glob_sys;
-if (likely(varonce100!=NULL)) {
-var101 = varonce100;
+var96 = glob_sys;
+if (likely(varonce97!=NULL)) {
+var98 = varonce97;
 } else {
-var102 = ", ";
-var103 = standard___standard__NativeString___to_s_with_length(var102, 2l);
-var101 = var103;
-varonce100 = var101;
+var99 = ", ";
+var100 = core__flat___NativeString___to_s_full(var99, 2l, 2l);
+var98 = var100;
+varonce97 = var98;
 }
-var104 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{ /* var104 = array_instance Array[Object] */
-var105 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object);
-((struct instance_standard__NativeArray*)var105)->values[0] = (val*) var101;
+var101 = NEW_core__Array(&type_core__Array__core__Object);
+{ /* var101 = array_instance Array[Object] */
+var102 = NEW_core__NativeArray(1l, &type_core__NativeArray__core__Object);
+((struct instance_core__NativeArray*)var102)->values[0] = (val*) var98;
 {
-((void(*)(val* self, val* p0, long p1))(var104->class->vft[COLOR_standard__array__Array__with_native]))(var104, var105, 1l); /* with_native on <var104:Array[Object]>*/
+((void(*)(val* self, val* p0, long p1))(var101->class->vft[COLOR_core__array__Array__with_native]))(var101, var102, 1l); /* with_native on <var101:Array[Object]>*/
 }
 }
 {
-standard__file___Sys___printn(var99, var104); /* Direct call file#Sys#printn on <var99:Sys>*/
+core__file___Sys___printn(var96, var101); /* Direct call file#Sys#printn on <var96:Sys>*/
 }
 }
-var106 = glob_sys;
-if (unlikely(varonce107==NULL)) {
-var108 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce109!=NULL)) {
-var110 = varonce109;
+var103 = glob_sys;
+if (unlikely(varonce104==NULL)) {
+var105 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce106!=NULL)) {
+var107 = varonce106;
 } else {
-var111 = "`";
-var112 = standard___standard__NativeString___to_s_with_length(var111, 1l);
-var110 = var112;
-varonce109 = var110;
+var108 = "`";
+var109 = core__flat___NativeString___to_s_full(var108, 1l, 1l);
+var107 = var109;
+varonce106 = var107;
 }
-((struct instance_standard__NativeArray*)var108)->values[0]=var110;
-if (likely(varonce113!=NULL)) {
-var114 = varonce113;
+((struct instance_core__NativeArray*)var105)->values[0]=var107;
+if (likely(varonce110!=NULL)) {
+var111 = varonce110;
 } else {
-var115 = "`";
-var116 = standard___standard__NativeString___to_s_with_length(var115, 1l);
-var114 = var116;
-varonce113 = var114;
+var112 = "`";
+var113 = core__flat___NativeString___to_s_full(var112, 1l, 1l);
+var111 = var113;
+varonce110 = var111;
 }
-((struct instance_standard__NativeArray*)var108)->values[2]=var114;
+((struct instance_core__NativeArray*)var105)->values[2]=var111;
 } else {
-var108 = varonce107;
-varonce107 = NULL;
+var105 = varonce104;
+varonce104 = NULL;
 }
-((struct instance_standard__NativeArray*)var108)->values[1]=var_n;
+((struct instance_core__NativeArray*)var105)->values[1]=var_n;
 {
-var117 = ((val*(*)(val* self))(var108->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var108); /* native_to_s on <var108:NativeArray[String]>*/
+var114 = ((val*(*)(val* self))(var105->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var105); /* native_to_s on <var105:NativeArray[String]>*/
 }
-varonce107 = var108;
-var118 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{ /* var118 = array_instance Array[Object] */
-var119 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object);
-((struct instance_standard__NativeArray*)var119)->values[0] = (val*) var117;
+varonce104 = var105;
+var115 = NEW_core__Array(&type_core__Array__core__Object);
+{ /* var115 = array_instance Array[Object] */
+var116 = NEW_core__NativeArray(1l, &type_core__NativeArray__core__Object);
+((struct instance_core__NativeArray*)var116)->values[0] = (val*) var114;
 {
-((void(*)(val* self, val* p0, long p1))(var118->class->vft[COLOR_standard__array__Array__with_native]))(var118, var119, 1l); /* with_native on <var118:Array[Object]>*/
+((void(*)(val* self, val* p0, long p1))(var115->class->vft[COLOR_core__array__Array__with_native]))(var115, var116, 1l); /* with_native on <var115:Array[Object]>*/
 }
 }
 {
-standard__file___Sys___printn(var106, var118); /* Direct call file#Sys#printn on <var106:Sys>*/
+core__file___Sys___printn(var103, var115); /* Direct call file#Sys#printn on <var103:Sys>*/
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_96); /* Direct call array#ArrayIterator#next on <var_96:ArrayIterator[String]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_92&3)?class_info[((long)var_92&3)]:var_92->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_92); /* next on <var_92:IndexedIterator[String]>*/
 }
 }
-BREAK_label: (void)0;
+BREAK_label94: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_96); /* Direct call array#ArrayIterator#finish on <var_96:ArrayIterator[String]>*/
+((void(*)(val* self))((((long)var_92&3)?class_info[((long)var_92&3)]:var_92->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_92); /* finish on <var_92:IndexedIterator[String]>*/
 }
-var120 = glob_sys;
-if (likely(varonce121!=NULL)) {
-var122 = varonce121;
+var117 = glob_sys;
+if (likely(varonce118!=NULL)) {
+var119 = varonce118;
 } else {
-var123 = "";
-var124 = standard___standard__NativeString___to_s_with_length(var123, 0l);
-var122 = var124;
-varonce121 = var122;
+var120 = "";
+var121 = core__flat___NativeString___to_s_full(var120, 0l, 0l);
+var119 = var121;
+varonce118 = var119;
 }
 {
-standard__file___Sys___print(var120, var122); /* Direct call file#Sys#print on <var120:Sys>*/
+core__file___Sys___print(var117, var119); /* Direct call file#Sys#print on <var117:Sys>*/
 }
-var125 = glob_sys;
-if (unlikely(varonce126==NULL)) {
-var127 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce128!=NULL)) {
-var129 = varonce128;
+var122 = glob_sys;
+if (unlikely(varonce123==NULL)) {
+var124 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
+if (likely(varonce125!=NULL)) {
+var126 = varonce125;
 } else {
-var130 = ":   ";
-var131 = standard___standard__NativeString___to_s_with_length(var130, 4l);
-var129 = var131;
-varonce128 = var129;
+var127 = ".";
+var128 = core__flat___NativeString___to_s_full(var127, 1l, 1l);
+var126 = var128;
+varonce125 = var126;
 }
-((struct instance_standard__NativeArray*)var127)->values[0]=var129;
+((struct instance_core__NativeArray*)var124)->values[1]=var126;
 } else {
-var127 = varonce126;
-varonce126 = NULL;
+var124 = varonce123;
+varonce123 = NULL;
 }
 {
 { /* Inline opts#Option#helptext (var_o) on <var_o:Option> */
-var134 = var_o->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <var_o:Option> */
-if (unlikely(var134 == NULL)) {
+var131 = var_o->attrs[COLOR_opts__Option___helptext].val; /* _helptext on <var_o:Option> */
+if (unlikely(var131 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext");
 PRINT_ERROR(" (%s:%d)\n", FILE_opts, 25);
 fatal_exit(1);
 }
-var132 = var134;
-RET_LABEL133:(void)0;
+var129 = var131;
+RET_LABEL130:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var127)->values[1]=var132;
+((struct instance_core__NativeArray*)var124)->values[0]=var129;
 {
-var135 = ((val*(*)(val* self))(var127->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var127); /* native_to_s on <var127:NativeArray[String]>*/
+var132 = ((val*(*)(val* self))(var124->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var124); /* native_to_s on <var124:NativeArray[String]>*/
 }
-varonce126 = var127;
+varonce123 = var124;
 {
-standard__file___Sys___print(var125, var135); /* Direct call file#Sys#print on <var125:Sys>*/
+core__file___Sys___print(var122, var132); /* Direct call file#Sys#print on <var122:Sys>*/
 }
-var136 = glob_sys;
-if (likely(varonce137!=NULL)) {
-var138 = varonce137;
+var133 = glob_sys;
+if (likely(varonce134!=NULL)) {
+var135 = varonce134;
 } else {
-var139 = "";
-var140 = standard___standard__NativeString___to_s_with_length(var139, 0l);
-var138 = var140;
-varonce137 = var138;
+var136 = "";
+var137 = core__flat___NativeString___to_s_full(var136, 0l, 0l);
+var135 = var137;
+varonce134 = var135;
 }
 {
-standard__file___Sys___print(var136, var138); /* Direct call file#Sys#print on <var136:Sys>*/
+core__file___Sys___print(var133, var135); /* Direct call file#Sys#print on <var133:Sys>*/
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_88); /* Direct call array#ArrayIterator#next on <var_88:ArrayIterator[Option]>*/
-}
-} else {
-goto BREAK_label141;
+((void(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_77); /* next on <var_77:IndexedIterator[Option]>*/
 }
 }
-BREAK_label141: (void)0;
+BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_88); /* Direct call array#ArrayIterator#finish on <var_88:ArrayIterator[Option]>*/
+((void(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_77); /* finish on <var_77:IndexedIterator[Option]>*/
 }
-var142 = glob_sys;
-if (likely(varonce143!=NULL)) {
-var144 = varonce143;
+var138 = glob_sys;
+if (likely(varonce139!=NULL)) {
+var140 = varonce139;
 } else {
-var145 = "# SEE ALSO\n\nThe Nit language documentation and the source code of its tools and libraries may be downloaded from <http://nitlanguage.org>";
-var146 = standard___standard__NativeString___to_s_with_length(var145, 137l);
-var144 = var146;
-varonce143 = var144;
+var141 = "# SEE ALSO\n\nThe Nit language documentation and the source code of its tools and libraries may be downloaded from <http://nitlanguage.org>";
+var142 = core__flat___NativeString___to_s_full(var141, 137l, 137l);
+var140 = var142;
+varonce139 = var140;
 }
 {
-standard__file___Sys___print(var142, var144); /* Direct call file#Sys#print on <var142:Sys>*/
+core__file___Sys___print(var138, var140); /* Direct call file#Sys#print on <var138:Sys>*/
 }
-var147 = glob_sys;
+var143 = glob_sys;
 {
-{ /* Inline kernel#Sys#exit (var147,0l) on <var147:Sys> */
+{ /* Inline kernel#Sys#exit (var143,0l) on <var143:Sys> */
 exit(0l);
-RET_LABEL148:(void)0;
+RET_LABEL144:(void)0;
 }
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var151 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var151 == NULL)) {
+var147 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+if (unlikely(var147 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
-var149 = var151;
-RET_LABEL150:(void)0;
+var145 = var147;
+RET_LABEL146:(void)0;
 }
 }
 {
-var152 = opts___opts__OptionContext___get_errors(var149);
+var148 = opts___opts__OptionContext___errors(var145);
 }
-var_errors = var152;
+var_errors = var148;
 {
-var153 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_errors);
+var149 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_errors);
 }
-var154 = !var153;
-if (var154){
-var_155 = var_errors;
+var150 = !var149;
+if (var150){
+var_151 = var_errors;
 {
-var156 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_155);
+var152 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_151);
 }
-var_157 = var156;
+var_153 = var152;
 for(;;) {
 {
-var158 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_157);
+var154 = ((short int(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_153); /* is_ok on <var_153:IndexedIterator[String]>*/
+}
+if (var154){
+} else {
+goto BREAK_label155;
 }
-if (var158){
 {
-var159 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_157);
+var156 = ((val*(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_153); /* item on <var_153:IndexedIterator[String]>*/
 }
-var_e = var159;
-var160 = glob_sys;
-if (unlikely(varonce161==NULL)) {
-var162 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce163!=NULL)) {
-var164 = varonce163;
+var_e = var156;
+var157 = glob_sys;
+if (unlikely(varonce158==NULL)) {
+var159 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
+if (likely(varonce160!=NULL)) {
+var161 = varonce160;
 } else {
-var165 = "Error: ";
-var166 = standard___standard__NativeString___to_s_with_length(var165, 7l);
-var164 = var166;
-varonce163 = var164;
+var162 = "Error: ";
+var163 = core__flat___NativeString___to_s_full(var162, 7l, 7l);
+var161 = var163;
+varonce160 = var161;
 }
-((struct instance_standard__NativeArray*)var162)->values[0]=var164;
+((struct instance_core__NativeArray*)var159)->values[0]=var161;
 } else {
-var162 = varonce161;
-varonce161 = NULL;
+var159 = varonce158;
+varonce158 = NULL;
 }
-((struct instance_standard__NativeArray*)var162)->values[1]=var_e;
+((struct instance_core__NativeArray*)var159)->values[1]=var_e;
 {
-var167 = ((val*(*)(val* self))(var162->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var162); /* native_to_s on <var162:NativeArray[String]>*/
+var164 = ((val*(*)(val* self))(var159->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var159); /* native_to_s on <var159:NativeArray[String]>*/
 }
-varonce161 = var162;
+varonce158 = var159;
 {
-standard__file___Sys___print(var160, var167); /* Direct call file#Sys#print on <var160:Sys>*/
+core__file___Sys___print(var157, var164); /* Direct call file#Sys#print on <var157:Sys>*/
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_157); /* Direct call array#ArrayIterator#next on <var_157:ArrayIterator[String]>*/
-}
-} else {
-goto BREAK_label168;
+((void(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_153); /* next on <var_153:IndexedIterator[String]>*/
 }
 }
-BREAK_label168: (void)0;
+BREAK_label155: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_157); /* Direct call array#ArrayIterator#finish on <var_157:ArrayIterator[String]>*/
+((void(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_153); /* finish on <var_153:IndexedIterator[String]>*/
 }
-var169 = glob_sys;
+var165 = glob_sys;
 {
 { /* Inline toolcontext#ToolContext#tooldescription (self) on <self:ToolContext> */
-var172 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
-if (unlikely(var172 == NULL)) {
+var168 = self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
+if (unlikely(var168 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 403);
 fatal_exit(1);
 }
-var170 = var172;
-RET_LABEL171:(void)0;
+var166 = var168;
+RET_LABEL167:(void)0;
 }
 }
 {
-standard__file___Sys___print(var169, var170); /* Direct call file#Sys#print on <var169:Sys>*/
+core__file___Sys___print(var165, var166); /* Direct call file#Sys#print on <var165:Sys>*/
 }
-var173 = glob_sys;
-if (likely(varonce174!=NULL)) {
-var175 = varonce174;
+var169 = glob_sys;
+if (likely(varonce170!=NULL)) {
+var171 = varonce170;
 } else {
-var176 = "Use --help for help";
-var177 = standard___standard__NativeString___to_s_with_length(var176, 19l);
-var175 = var177;
-varonce174 = var175;
+var172 = "Use --help for help";
+var173 = core__flat___NativeString___to_s_full(var172, 19l, 19l);
+var171 = var173;
+varonce170 = var171;
 }
 {
-standard__file___Sys___print(var173, var175); /* Direct call file#Sys#print on <var173:Sys>*/
+core__file___Sys___print(var169, var171); /* Direct call file#Sys#print on <var169:Sys>*/
 }
-var178 = glob_sys;
+var174 = glob_sys;
 {
-{ /* Inline kernel#Sys#exit (var178,1l) on <var178:Sys> */
+{ /* Inline kernel#Sys#exit (var174,1l) on <var174:Sys> */
 exit(1l);
-RET_LABEL179:(void)0;
+RET_LABEL175:(void)0;
 }
 }
 } else {
 }
 {
-var180 = nit___nit__ToolContext___compute_nit_dir(self);
+var176 = nitc___nitc__ToolContext___compute_nit_dir(self);
 }
 {
-{ /* Inline toolcontext#ToolContext#nit_dir= (self,var180) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val = var180; /* _nit_dir on <self:ToolContext> */
-RET_LABEL181:(void)0;
+{ /* Inline toolcontext#ToolContext#nit_dir= (self,var176) on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___nit_dir].val = var176; /* _nit_dir on <self:ToolContext> */
+RET_LABEL177:(void)0;
 }
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var185 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var185 == NULL)) {
+var181 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
+if (unlikely(var181 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
-var183 = var185;
-RET_LABEL184:(void)0;
+var179 = var181;
+RET_LABEL180:(void)0;
 }
 }
 {
-{ /* Inline opts#OptionContext#rest (var183) on <var183:OptionContext> */
-var188 = var183->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on <var183:OptionContext> */
-if (unlikely(var188 == NULL)) {
+{ /* Inline opts#OptionContext#rest (var179) on <var179:OptionContext> */
+var184 = var179->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on <var179:OptionContext> */
+if (unlikely(var184 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267);
+PRINT_ERROR(" (%s:%d)\n", FILE_opts, 280);
 fatal_exit(1);
 }
-var186 = var188;
-RET_LABEL187:(void)0;
+var182 = var184;
+RET_LABEL183:(void)0;
 }
 }
 {
-var189 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var186);
+var185 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var182);
 }
-var_190 = var189;
-if (var189){
+var_186 = var185;
+if (var185){
 {
 { /* Inline toolcontext#ToolContext#accept_no_arguments (self) on <self:ToolContext> */
-var193 = self->attrs[COLOR_nit__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on <self:ToolContext> */
-var191 = var193;
-RET_LABEL192:(void)0;
+var189 = self->attrs[COLOR_nitc__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on <self:ToolContext> */
+var187 = var189;
+RET_LABEL188:(void)0;
 }
 }
-var194 = !var191;
-var182 = var194;
+var190 = !var187;
+var178 = var190;
 } else {
-var182 = var_190;
+var178 = var_186;
 }
-if (var182){
-var195 = glob_sys;
+if (var178){
+var191 = glob_sys;
 {
 { /* Inline toolcontext#ToolContext#tooldescription (self) on <self:ToolContext> */
-var198 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
-if (unlikely(var198 == NULL)) {
+var194 = self->attrs[COLOR_nitc__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on <self:ToolContext> */
+if (unlikely(var194 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 403);
 fatal_exit(1);
 }
-var196 = var198;
-RET_LABEL197:(void)0;
+var192 = var194;
+RET_LABEL193:(void)0;
 }
 }
 {
-standard__file___Sys___print(var195, var196); /* Direct call file#Sys#print on <var195:Sys>*/
+core__file___Sys___print(var191, var192); /* Direct call file#Sys#print on <var191:Sys>*/
 }
-var199 = glob_sys;
-if (likely(varonce200!=NULL)) {
-var201 = varonce200;
+var195 = glob_sys;
+if (likely(varonce196!=NULL)) {
+var197 = varonce196;
 } else {
-var202 = "Use --help for help";
-var203 = standard___standard__NativeString___to_s_with_length(var202, 19l);
-var201 = var203;
-varonce200 = var201;
+var198 = "Use --help for help";
+var199 = core__flat___NativeString___to_s_full(var198, 19l, 19l);
+var197 = var199;
+varonce196 = var197;
 }
 {
-standard__file___Sys___print(var199, var201); /* Direct call file#Sys#print on <var199:Sys>*/
+core__file___Sys___print(var195, var197); /* Direct call file#Sys#print on <var195:Sys>*/
 }
-var204 = glob_sys;
+var200 = glob_sys;
 {
-{ /* Inline kernel#Sys#exit (var204,1l) on <var204:Sys> */
+{ /* Inline kernel#Sys#exit (var200,1l) on <var200:Sys> */
 exit(1l);
-RET_LABEL205:(void)0;
+RET_LABEL201:(void)0;
 }
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#opt_verbose (self) on <self:ToolContext> */
-var208 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
-if (unlikely(var208 == NULL)) {
+var204 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on <self:ToolContext> */
+if (unlikely(var204 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 372);
 fatal_exit(1);
 }
-var206 = var208;
-RET_LABEL207:(void)0;
+var202 = var204;
+RET_LABEL203:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var206) on <var206:OptionCount> */
-var211 = var206->attrs[COLOR_opts__Option___value].val; /* _value on <var206:OptionCount> */
-var209 = var211;
-RET_LABEL210:(void)0;
+{ /* Inline opts#Option#value (var202) on <var202:OptionCount> */
+var207 = var202->attrs[COLOR_opts__Option___value].val; /* _value on <var202:OptionCount> */
+var205 = var207;
+RET_LABEL206:(void)0;
 }
 }
 {
-{ /* Inline toolcontext#ToolContext#verbose_level= (self,var209) on <self:ToolContext> */
-var213 = (long)(var209)>>2;
-self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l = var213; /* _verbose_level on <self:ToolContext> */
-RET_LABEL212:(void)0;
+{ /* Inline toolcontext#ToolContext#verbose_level= (self,var205) on <self:ToolContext> */
+var209 = (long)(var205)>>2;
+self->attrs[COLOR_nitc__toolcontext__ToolContext___verbose_level].l = var209; /* _verbose_level on <self:ToolContext> */
+RET_LABEL208:(void)0;
 }
 }
 {
 { /* Inline toolcontext#ToolContext#opt_keep_going (self) on <self:ToolContext> */
-var216 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
-if (unlikely(var216 == NULL)) {
+var212 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on <self:ToolContext> */
+if (unlikely(var212 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 378);
 fatal_exit(1);
 }
-var214 = var216;
-RET_LABEL215:(void)0;
+var210 = var212;
+RET_LABEL211:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var214) on <var214:OptionBool> */
-var219 = var214->attrs[COLOR_opts__Option___value].val; /* _value on <var214:OptionBool> */
-var217 = var219;
-RET_LABEL218:(void)0;
+{ /* Inline opts#Option#value (var210) on <var210:OptionBool> */
+var215 = var210->attrs[COLOR_opts__Option___value].val; /* _value on <var210:OptionBool> */
+var213 = var215;
+RET_LABEL214:(void)0;
 }
 }
-var220 = (short int)((long)(var217)>>2);
-if (var220){
+var216 = (short int)((long)(var213)>>2);
+if (var216){
 {
 { /* Inline toolcontext#ToolContext#keep_going= (self,1) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s = 1; /* _keep_going on <self:ToolContext> */
-RET_LABEL221:(void)0;
+self->attrs[COLOR_nitc__toolcontext__ToolContext___keep_going].s = 1; /* _keep_going on <self:ToolContext> */
+RET_LABEL217:(void)0;
 }
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#opt_quiet (self) on <self:ToolContext> */
-var224 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
-if (unlikely(var224 == NULL)) {
+var220 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on <self:ToolContext> */
+if (unlikely(var220 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 351);
 fatal_exit(1);
 }
-var222 = var224;
-RET_LABEL223:(void)0;
+var218 = var220;
+RET_LABEL219:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var222) on <var222:OptionBool> */
-var227 = var222->attrs[COLOR_opts__Option___value].val; /* _value on <var222:OptionBool> */
-var225 = var227;
-RET_LABEL226:(void)0;
+{ /* Inline opts#Option#value (var218) on <var218:OptionBool> */
+var223 = var218->attrs[COLOR_opts__Option___value].val; /* _value on <var218:OptionBool> */
+var221 = var223;
+RET_LABEL222:(void)0;
 }
 }
-var228 = (short int)((long)(var225)>>2);
-if (var228){
+var224 = (short int)((long)(var221)>>2);
+if (var224){
 {
 { /* Inline toolcontext#ToolContext#opt_warn (self) on <self:ToolContext> */
-var231 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
-if (unlikely(var231 == NULL)) {
+var227 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on <self:ToolContext> */
+if (unlikely(var227 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 345);
 fatal_exit(1);
 }
-var229 = var231;
-RET_LABEL230:(void)0;
+var225 = var227;
+RET_LABEL226:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value= (var229,0l) on <var229:OptionCount> */
+{ /* Inline opts#Option#value= (var225,0l) on <var225:OptionCount> */
 /* Covariant cast for argument 0 (value) <0l:Int> isa VALUE */
 /* <0l:Int> isa VALUE */
-type_struct236 = var229->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype234 = type_struct236->color;
-idtype235 = type_struct236->id;
-if(cltype234 >= (&type_standard__Int)->table_size) {
-var233 = 0;
+type_struct232 = var225->type->resolution_table->types[COLOR_opts__Option__VALUE];
+cltype230 = type_struct232->color;
+idtype231 = type_struct232->id;
+if(cltype230 >= (&type_core__Int)->table_size) {
+var229 = 0;
 } else {
-var233 = (&type_standard__Int)->type_table[cltype234] == idtype235;
+var229 = (&type_core__Int)->type_table[cltype230] == idtype231;
 }
-if (unlikely(!var233)) {
-var_class_name237 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name237);
+if (unlikely(!var229)) {
+var_class_name233 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name233);
 PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
 fatal_exit(1);
 }
-var238 = (val*)(0l<<2|1);
-var229->attrs[COLOR_opts__Option___value].val = var238; /* _value on <var229:OptionCount> */
-RET_LABEL232:(void)0;
+var234 = (val*)(0l<<2|1);
+var225->attrs[COLOR_opts__Option___value].val = var234; /* _value on <var225:OptionCount> */
+RET_LABEL228:(void)0;
 }
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#opt_log_dir (self) on <self:ToolContext> */
-var241 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
-if (unlikely(var241 == NULL)) {
+var237 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
+if (unlikely(var237 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357);
 fatal_exit(1);
 }
-var239 = var241;
-RET_LABEL240:(void)0;
+var235 = var237;
+RET_LABEL236:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var239) on <var239:OptionString> */
-var244 = var239->attrs[COLOR_opts__Option___value].val; /* _value on <var239:OptionString> */
-var242 = var244;
-RET_LABEL243:(void)0;
+{ /* Inline opts#Option#value (var235) on <var235:OptionString> */
+var240 = var235->attrs[COLOR_opts__Option___value].val; /* _value on <var235:OptionString> */
+var238 = var240;
+RET_LABEL239:(void)0;
 }
 }
-if (var242 == NULL) {
-var245 = 0; /* is null */
+if (var238 == NULL) {
+var241 = 0; /* is null */
 } else {
-var245 = 1; /* arg is null and recv is not */
+var241 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var242,((val*)NULL)) on <var242:nullable Object(nullable String)> */
+{ /* Inline kernel#Object#!= (var238,((val*)NULL)) on <var238:nullable Object(nullable String)> */
 var_other = ((val*)NULL);
 {
-var248 = ((short int(*)(val* self, val* p0))(var242->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var242, var_other); /* == on <var242:nullable String(String)>*/
+var244 = ((short int(*)(val* self, val* p0))(var238->class->vft[COLOR_core__kernel__Object___61d_61d]))(var238, var_other); /* == on <var238:nullable String(String)>*/
 }
-var249 = !var248;
-var246 = var249;
-goto RET_LABEL247;
-RET_LABEL247:(void)0;
+var245 = !var244;
+var242 = var245;
+goto RET_LABEL243;
+RET_LABEL243:(void)0;
 }
-var245 = var246;
+var241 = var242;
 }
-if (var245){
+if (var241){
 {
 { /* Inline toolcontext#ToolContext#opt_log_dir (self) on <self:ToolContext> */
-var252 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
-if (unlikely(var252 == NULL)) {
+var248 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on <self:ToolContext> */
+if (unlikely(var248 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357);
 fatal_exit(1);
 }
-var250 = var252;
-RET_LABEL251:(void)0;
+var246 = var248;
+RET_LABEL247:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var250) on <var250:OptionString> */
-var255 = var250->attrs[COLOR_opts__Option___value].val; /* _value on <var250:OptionString> */
-var253 = var255;
-RET_LABEL254:(void)0;
+{ /* Inline opts#Option#value (var246) on <var246:OptionString> */
+var251 = var246->attrs[COLOR_opts__Option___value].val; /* _value on <var246:OptionString> */
+var249 = var251;
+RET_LABEL250:(void)0;
 }
 }
-if (unlikely(var253 == NULL)) {
+if (unlikely(var249 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 495);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 502);
 fatal_exit(1);
 }
 {
-{ /* Inline toolcontext#ToolContext#log_directory= (self,var253) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val = var253; /* _log_directory on <self:ToolContext> */
-RET_LABEL256:(void)0;
+{ /* Inline toolcontext#ToolContext#log_directory= (self,var249) on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___log_directory].val = var249; /* _log_directory on <self:ToolContext> */
+RET_LABEL252:(void)0;
 }
 }
 } else {
 }
 {
 { /* Inline toolcontext#ToolContext#opt_log (self) on <self:ToolContext> */
-var259 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
-if (unlikely(var259 == NULL)) {
+var255 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_log].val; /* _opt_log on <self:ToolContext> */
+if (unlikely(var255 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 354);
 fatal_exit(1);
 }
-var257 = var259;
-RET_LABEL258:(void)0;
+var253 = var255;
+RET_LABEL254:(void)0;
 }
 }
 {
-{ /* Inline opts#Option#value (var257) on <var257:OptionBool> */
-var262 = var257->attrs[COLOR_opts__Option___value].val; /* _value on <var257:OptionBool> */
-var260 = var262;
-RET_LABEL261:(void)0;
+{ /* Inline opts#Option#value (var253) on <var253:OptionBool> */
+var258 = var253->attrs[COLOR_opts__Option___value].val; /* _value on <var253:OptionBool> */
+var256 = var258;
+RET_LABEL257:(void)0;
 }
 }
-var263 = (short int)((long)(var260)>>2);
-if (var263){
+var259 = (short int)((long)(var256)>>2);
+if (var259){
 {
 { /* Inline toolcontext#ToolContext#log_directory (self) on <self:ToolContext> */
-var266 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
-if (unlikely(var266 == NULL)) {
+var262 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
+if (unlikely(var262 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 137);
 fatal_exit(1);
 }
-var264 = var266;
-RET_LABEL265:(void)0;
+var260 = var262;
+RET_LABEL261:(void)0;
 }
 }
 {
-var267 = standard__file___String___mkdir(var264);
+var263 = core__file___String___mkdir(var260);
 }
 {
 { /* Inline toolcontext#ToolContext#log_directory (self) on <self:ToolContext> */
-var270 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
-if (unlikely(var270 == NULL)) {
+var266 = self->attrs[COLOR_nitc__toolcontext__ToolContext___log_directory].val; /* _log_directory on <self:ToolContext> */
+if (unlikely(var266 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 137);
 fatal_exit(1);
 }
-var268 = var270;
-RET_LABEL269:(void)0;
+var264 = var266;
+RET_LABEL265:(void)0;
 }
 }
-if (likely(varonce271!=NULL)) {
-var272 = varonce271;
+if (likely(varonce267!=NULL)) {
+var268 = varonce267;
 } else {
-var273 = "info.txt";
-var274 = standard___standard__NativeString___to_s_with_length(var273, 8l);
-var272 = var274;
-varonce271 = var272;
+var269 = "info.txt";
+var270 = core__flat___NativeString___to_s_full(var269, 8l, 8l);
+var268 = var270;
+varonce267 = var268;
 }
 {
-var275 = standard__file___String____47d(var268, var272);
+var271 = core__file___String____47d(var264, var268);
 }
 {
-var276 = standard__file___Text___to_path(var275);
+var272 = core__file___Text___to_path(var271);
 }
 {
-var277 = standard___standard__Path___open_wo(var276);
+var273 = core___core__Path___open_wo(var272);
 }
 {
-{ /* Inline toolcontext#ToolContext#log_info= (self,var277) on <self:ToolContext> */
-self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val = var277; /* _log_info on <self:ToolContext> */
-RET_LABEL278:(void)0;
+{ /* Inline toolcontext#ToolContext#log_info= (self,var273) on <self:ToolContext> */
+self->attrs[COLOR_nitc__toolcontext__ToolContext___log_info].val = var273; /* _log_info on <self:ToolContext> */
+RET_LABEL274:(void)0;
 }
 }
 } else {
@@ -4412,7 +4464,7 @@ RET_LABEL278:(void)0;
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#version for (self: ToolContext): String */
-val* nit___nit__ToolContext___version(val* self) {
+val* nitc___nitc__ToolContext___version(val* self) {
 val* var /* : String */;
 val* var1 /* : OptionBool */;
 val* var3 /* : OptionBool */;
@@ -4422,15 +4474,15 @@ short int var7 /* : Bool */;
 static val* varonce;
 val* var8 /* : String */;
 char* var9 /* : NativeString */;
-val* var10 /* : FlatString */;
+val* var10 /* : String */;
 val* var11 /* : Sys */;
 val* var12 /* : String */;
 {
 { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 369);
 fatal_exit(1);
 }
 var1 = var3;
@@ -4450,7 +4502,7 @@ if (likely(varonce!=NULL)) {
 var8 = varonce;
 } else {
 var9 = "DUMMY_VERSION";
-var10 = standard___standard__NativeString___to_s_with_length(var9, 13l);
+var10 = core__flat___NativeString___to_s_full(var9, 13l, 13l);
 var8 = var10;
 varonce = var8;
 }
@@ -4460,7 +4512,7 @@ goto RET_LABEL;
 }
 var11 = glob_sys;
 {
-var12 = nit__version___standard__Sys___nit_version(var11);
+var12 = nitc__version___core__Sys___nit_version(var11);
 }
 var = var12;
 goto RET_LABEL;
@@ -4468,7 +4520,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#toolname for (self: ToolContext): String */
-val* nit___nit__ToolContext___toolname(val* self) {
+val* nitc___nitc__ToolContext___toolname(val* self) {
 val* var /* : String */;
 val* var1 /* : OptionBool */;
 val* var3 /* : OptionBool */;
@@ -4478,21 +4530,17 @@ short int var7 /* : Bool */;
 static val* varonce;
 val* var8 /* : String */;
 char* var9 /* : NativeString */;
-val* var10 /* : FlatString */;
+val* var10 /* : String */;
 val* var11 /* : Sys */;
 val* var13 /* : Sys */;
 val* var14 /* : String */;
-static val* varonce15;
-val* var16 /* : String */;
-char* var17 /* : NativeString */;
-val* var18 /* : FlatString */;
-val* var19 /* : String */;
+val* var15 /* : String */;
 {
 { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 369);
 fatal_exit(1);
 }
 var1 = var3;
@@ -4512,7 +4560,7 @@ if (likely(varonce!=NULL)) {
 var8 = varonce;
 } else {
 var9 = "DUMMY_TOOL";
-var10 = standard___standard__NativeString___to_s_with_length(var9, 10l);
+var10 = core__flat___NativeString___to_s_full(var9, 10l, 10l);
 var8 = var10;
 varonce = var8;
 }
@@ -4529,32 +4577,24 @@ RET_LABEL12:(void)0;
 }
 }
 {
-var14 = standard__string___Sys___program_name(var11);
-}
-if (likely(varonce15!=NULL)) {
-var16 = varonce15;
-} else {
-var17 = "";
-var18 = standard___standard__NativeString___to_s_with_length(var17, 0l);
-var16 = var18;
-varonce15 = var16;
+var14 = core__abstract_text___Sys___program_name(var11);
 }
 {
-var19 = standard__file___String___basename(var14, var16);
+var15 = ((val*(*)(val* self, val* p0))(var14->class->vft[COLOR_core__file__String__basename]))(var14, ((val*)NULL)); /* basename on <var14:String>*/
 }
-var = var19;
+var = var15;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#nit_dir for (self: ToolContext): String */
-val* nit___nit__ToolContext___nit_dir(val* self) {
+val* nitc___nitc__ToolContext___nit_dir(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val; /* _nit_dir on <self:ToolContext> */
+var1 = self->attrs[COLOR_nitc__toolcontext__ToolContext___nit_dir].val; /* _nit_dir on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 521);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 528);
 fatal_exit(1);
 }
 var = var1;
@@ -4562,12 +4602,12 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#nit_dir= for (self: ToolContext, String) */
-void nit___nit__ToolContext___nit_dir_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val = p0; /* _nit_dir on <self:ToolContext> */
+void nitc___nitc__ToolContext___nit_dir_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__ToolContext___nit_dir].val = p0; /* _nit_dir on <self:ToolContext> */
 RET_LABEL:;
 }
 /* method toolcontext#ToolContext#compute_nit_dir for (self: ToolContext): String */
-val* nit___nit__ToolContext___compute_nit_dir(val* self) {
+val* nitc___nitc__ToolContext___compute_nit_dir(val* self) {
 val* var /* : String */;
 val* var1 /* : OptionString */;
 val* var3 /* : OptionString */;
@@ -4586,16 +4626,16 @@ static val* varonce;
 static val* varonce15;
 val* var16 /* : String */;
 char* var17 /* : NativeString */;
-val* var18 /* : FlatString */;
+val* var18 /* : String */;
 static val* varonce19;
 val* var20 /* : String */;
 char* var21 /* : NativeString */;
-val* var22 /* : FlatString */;
+val* var22 /* : String */;
 val* var23 /* : String */;
 static val* varonce24;
 val* var25 /* : String */;
 char* var26 /* : NativeString */;
-val* var27 /* : FlatString */;
+val* var27 /* : String */;
 val* var28 /* : String */;
 short int var29 /* : Bool */;
 short int var30 /* : Bool */;
@@ -4606,18 +4646,18 @@ static val* varonce33;
 static val* varonce35;
 val* var36 /* : String */;
 char* var37 /* : NativeString */;
-val* var38 /* : FlatString */;
+val* var38 /* : String */;
 static val* varonce39;
 val* var40 /* : String */;
 char* var41 /* : NativeString */;
-val* var42 /* : FlatString */;
+val* var42 /* : String */;
 val* var43 /* : String */;
 val* var45 /* : NativeArray[String] */;
 static val* varonce44;
 static val* varonce46;
 val* var47 /* : String */;
 char* var48 /* : NativeString */;
-val* var49 /* : FlatString */;
+val* var49 /* : String */;
 val* var50 /* : Sys */;
 val* var52 /* : Sys */;
 val* var53 /* : String */;
@@ -4628,7 +4668,7 @@ val* var57 /* : String */;
 static val* varonce58;
 val* var59 /* : String */;
 char* var60 /* : NativeString */;
-val* var61 /* : FlatString */;
+val* var61 /* : String */;
 val* var_exe /* var exe: String */;
 short int var62 /* : Bool */;
 val* var63 /* : String */;
@@ -4636,44 +4676,44 @@ val* var64 /* : String */;
 static val* varonce65;
 val* var66 /* : String */;
 char* var67 /* : NativeString */;
-val* var68 /* : FlatString */;
+val* var68 /* : String */;
 val* var69 /* : String */;
 short int var70 /* : Bool */;
 val* var71 /* : String */;
 static val* varonce72;
 val* var73 /* : String */;
 char* var74 /* : NativeString */;
-val* var75 /* : FlatString */;
+val* var75 /* : String */;
 val* var76 /* : String */;
 static val* varonce77;
 val* var78 /* : String */;
 char* var79 /* : NativeString */;
-val* var80 /* : FlatString */;
+val* var80 /* : String */;
 val* var81 /* : Array[String] */;
 val* var_ps /* var ps: Array[String] */;
 val* var_ /* var : Array[String] */;
-val* var82 /* : ArrayIterator[nullable Object] */;
-val* var_83 /* var : ArrayIterator[String] */;
+val* var82 /* : IndexedIterator[nullable Object] */;
+val* var_83 /* var : IndexedIterator[String] */;
 short int var84 /* : Bool */;
 val* var85 /* : nullable Object */;
 val* var_p /* var p: String */;
 static val* varonce86;
 val* var87 /* : String */;
 char* var88 /* : NativeString */;
-val* var89 /* : FlatString */;
+val* var89 /* : String */;
 val* var90 /* : String */;
 short int var91 /* : Bool */;
 val* var92 /* : String */;
 static val* varonce93;
 val* var94 /* : String */;
 char* var95 /* : NativeString */;
-val* var96 /* : FlatString */;
+val* var96 /* : String */;
 {
 { /* Inline toolcontext#ToolContext#opt_nit_dir (self) on <self:ToolContext> */
-var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
+var3 = self->attrs[COLOR_nitc__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on <self:ToolContext> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 360);
 fatal_exit(1);
 }
 var1 = var3;
@@ -4697,7 +4737,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable String> */
 var_other = ((val*)NULL);
 {
-var10 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable String(String)>*/
+var10 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable String(String)>*/
 }
 var11 = !var10;
 var8 = var11;
@@ -4708,41 +4748,41 @@ var7 = var8;
 }
 if (var7){
 {
-var12 = nit___nit__ToolContext___check_nit_dir(self, var_res);
+var12 = nitc___nitc__ToolContext___check_nit_dir(self, var_res);
 }
 var13 = !var12;
 if (var13){
 if (unlikely(varonce==NULL)) {
-var14 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var14 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce15!=NULL)) {
 var16 = varonce15;
 } else {
 var17 = "Fatal Error: the value of --nit-dir does not seem to be a valid base Nit directory: ";
-var18 = standard___standard__NativeString___to_s_with_length(var17, 84l);
+var18 = core__flat___NativeString___to_s_full(var17, 84l, 84l);
 var16 = var18;
 varonce15 = var16;
 }
-((struct instance_standard__NativeArray*)var14)->values[0]=var16;
+((struct instance_core__NativeArray*)var14)->values[0]=var16;
 if (likely(varonce19!=NULL)) {
 var20 = varonce19;
 } else {
 var21 = ".";
-var22 = standard___standard__NativeString___to_s_with_length(var21, 1l);
+var22 = core__flat___NativeString___to_s_full(var21, 1l, 1l);
 var20 = var22;
 varonce19 = var20;
 }
-((struct instance_standard__NativeArray*)var14)->values[2]=var20;
+((struct instance_core__NativeArray*)var14)->values[2]=var20;
 } else {
 var14 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var14)->values[1]=var_res;
+((struct instance_core__NativeArray*)var14)->values[1]=var_res;
 {
-var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on <var14:NativeArray[String]>*/
+var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var14); /* native_to_s on <var14:NativeArray[String]>*/
 }
 varonce = var14;
 {
-nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var23); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
+nitc___nitc__ToolContext___fatal_error(self, ((val*)NULL), var23); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
 }
 } else {
 }
@@ -4754,55 +4794,55 @@ if (likely(varonce24!=NULL)) {
 var25 = varonce24;
 } else {
 var26 = "NIT_DIR";
-var27 = standard___standard__NativeString___to_s_with_length(var26, 7l);
+var27 = core__flat___NativeString___to_s_full(var26, 7l, 7l);
 var25 = var27;
 varonce24 = var25;
 }
 {
-var28 = standard__environ___String___environ(var25);
+var28 = core__environ___String___environ(var25);
 }
 var_res = var28;
 {
-var29 = standard___standard__Text___is_empty(var_res);
+var29 = ((short int(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Text__is_empty]))(var_res); /* is_empty on <var_res:nullable String(String)>*/
 }
 var30 = !var29;
 if (var30){
 {
-var31 = nit___nit__ToolContext___check_nit_dir(self, var_res);
+var31 = nitc___nitc__ToolContext___check_nit_dir(self, var_res);
 }
 var32 = !var31;
 if (var32){
 if (unlikely(varonce33==NULL)) {
-var34 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var34 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce35!=NULL)) {
 var36 = varonce35;
 } else {
 var37 = "Fatal Error: the value of NIT_DIR does not seem to be a valid base Nit directory: ";
-var38 = standard___standard__NativeString___to_s_with_length(var37, 82l);
+var38 = core__flat___NativeString___to_s_full(var37, 82l, 82l);
 var36 = var38;
 varonce35 = var36;
 }
-((struct instance_standard__NativeArray*)var34)->values[0]=var36;
+((struct instance_core__NativeArray*)var34)->values[0]=var36;
 if (likely(varonce39!=NULL)) {
 var40 = varonce39;
 } else {
 var41 = ".";
-var42 = standard___standard__NativeString___to_s_with_length(var41, 1l);
+var42 = core__flat___NativeString___to_s_full(var41, 1l, 1l);
 var40 = var42;
 varonce39 = var40;
 }
-((struct instance_standard__NativeArray*)var34)->values[2]=var40;
+((struct instance_core__NativeArray*)var34)->values[2]=var40;
 } else {
 var34 = varonce33;
 varonce33 = NULL;
 }
-((struct instance_standard__NativeArray*)var34)->values[1]=var_res;
+((struct instance_core__NativeArray*)var34)->values[1]=var_res;
 {
-var43 = ((val*(*)(val* self))(var34->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var34); /* native_to_s on <var34:NativeArray[String]>*/
+var43 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on <var34:NativeArray[String]>*/
 }
 varonce33 = var34;
 {
-nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var43); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
+nitc___nitc__ToolContext___fatal_error(self, ((val*)NULL), var43); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
 }
 } else {
 }
@@ -4811,16 +4851,16 @@ goto RET_LABEL;
 } else {
 }
 if (unlikely(varonce44==NULL)) {
-var45 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var45 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce46!=NULL)) {
 var47 = varonce46;
 } else {
 var48 = "/..";
-var49 = standard___standard__NativeString___to_s_with_length(var48, 3l);
+var49 = core__flat___NativeString___to_s_full(var48, 3l, 3l);
 var47 = var49;
 varonce46 = var47;
 }
-((struct instance_standard__NativeArray*)var45)->values[1]=var47;
+((struct instance_core__NativeArray*)var45)->values[1]=var47;
 } else {
 var45 = varonce44;
 varonce44 = NULL;
@@ -4834,23 +4874,23 @@ RET_LABEL51:(void)0;
 }
 }
 {
-var53 = standard__string___Sys___program_name(var50);
+var53 = core__abstract_text___Sys___program_name(var50);
 }
 {
-var54 = standard__file___String___dirname(var53);
+var54 = core__file___String___dirname(var53);
 }
-((struct instance_standard__NativeArray*)var45)->values[0]=var54;
+((struct instance_core__NativeArray*)var45)->values[0]=var54;
 {
-var55 = ((val*(*)(val* self))(var45->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var45); /* native_to_s on <var45:NativeArray[String]>*/
+var55 = ((val*(*)(val* self))(var45->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var45); /* native_to_s on <var45:NativeArray[String]>*/
 }
 varonce44 = var45;
 var_res = var55;
 {
-var56 = nit___nit__ToolContext___check_nit_dir(self, var_res);
+var56 = nitc___nitc__ToolContext___check_nit_dir(self, var_res);
 }
 if (var56){
 {
-var57 = standard__file___String___simplify_path(var_res);
+var57 = core__file___String___simplify_path(var_res);
 }
 var = var57;
 goto RET_LABEL;
@@ -4860,40 +4900,40 @@ if (likely(varonce58!=NULL)) {
 var59 = varonce58;
 } else {
 var60 = "/proc/self/exe";
-var61 = standard___standard__NativeString___to_s_with_length(var60, 14l);
+var61 = core__flat___NativeString___to_s_full(var60, 14l, 14l);
 var59 = var61;
 varonce58 = var59;
 }
 var_exe = var59;
 {
-var62 = standard__file___String___file_exists(var_exe);
+var62 = core__file___String___file_exists(var_exe);
 }
 if (var62){
 {
-var63 = standard__file___String___realpath(var_exe);
+var63 = core__file___String___realpath(var_exe);
 }
 var_res = var63;
 {
-var64 = standard__file___String___dirname(var_res);
+var64 = core__file___String___dirname(var_res);
 }
 if (likely(varonce65!=NULL)) {
 var66 = varonce65;
 } else {
 var67 = "..";
-var68 = standard___standard__NativeString___to_s_with_length(var67, 2l);
+var68 = core__flat___NativeString___to_s_full(var67, 2l, 2l);
 var66 = var68;
 varonce65 = var66;
 }
 {
-var69 = standard__file___String___join_path(var64, var66);
+var69 = core__file___String___join_path(var64, var66);
 }
 var_res = var69;
 {
-var70 = nit___nit__ToolContext___check_nit_dir(self, var_res);
+var70 = nitc___nitc__ToolContext___check_nit_dir(self, var_res);
 }
 if (var70){
 {
-var71 = standard__file___String___simplify_path(var_res);
+var71 = core__file___String___simplify_path(var_res);
 }
 var = var71;
 goto RET_LABEL;
@@ -4905,92 +4945,92 @@ if (likely(varonce72!=NULL)) {
 var73 = varonce72;
 } else {
 var74 = "PATH";
-var75 = standard___standard__NativeString___to_s_with_length(var74, 4l);
+var75 = core__flat___NativeString___to_s_full(var74, 4l, 4l);
 var73 = var75;
 varonce72 = var73;
 }
 {
-var76 = standard__environ___String___environ(var73);
+var76 = core__environ___String___environ(var73);
 }
 if (likely(varonce77!=NULL)) {
 var78 = varonce77;
 } else {
 var79 = ":";
-var80 = standard___standard__NativeString___to_s_with_length(var79, 1l);
+var80 = core__flat___NativeString___to_s_full(var79, 1l, 1l);
 var78 = var80;
 varonce77 = var78;
 }
 {
-var81 = standard__string_search___Text___split(var76, var78);
+var81 = core__string_search___Text___split(var76, var78);
 }
 var_ps = var81;
 var_ = var_ps;
 {
-var82 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var82 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
 var_83 = var82;
 for(;;) {
 {
-var84 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_83);
+var84 = ((short int(*)(val* self))((((long)var_83&3)?class_info[((long)var_83&3)]:var_83->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_83); /* is_ok on <var_83:IndexedIterator[String]>*/
 }
 if (var84){
+} else {
+goto BREAK_label;
+}
 {
-var85 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_83);
+var85 = ((val*(*)(val* self))((((long)var_83&3)?class_info[((long)var_83&3)]:var_83->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_83); /* item on <var_83:IndexedIterator[String]>*/
 }
 var_p = var85;
 if (likely(varonce86!=NULL)) {
 var87 = varonce86;
 } else {
 var88 = "..";
-var89 = standard___standard__NativeString___to_s_with_length(var88, 2l);
+var89 = core__flat___NativeString___to_s_full(var88, 2l, 2l);
 var87 = var89;
 varonce86 = var87;
 }
 {
-var90 = standard__file___String____47d(var_p, var87);
+var90 = core__file___String____47d(var_p, var87);
 }
 var_res = var90;
 {
-var91 = nit___nit__ToolContext___check_nit_dir(self, var_res);
+var91 = nitc___nitc__ToolContext___check_nit_dir(self, var_res);
 }
 if (var91){
 {
-var92 = standard__file___String___simplify_path(var_res);
+var92 = core__file___String___simplify_path(var_res);
 }
 var = var92;
 goto RET_LABEL;
 } else {
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_83); /* Direct call array#ArrayIterator#next on <var_83:ArrayIterator[String]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_83&3)?class_info[((long)var_83&3)]:var_83->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_83); /* next on <var_83:IndexedIterator[String]>*/
 }
 }
 BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_83); /* Direct call array#ArrayIterator#finish on <var_83:ArrayIterator[String]>*/
+((void(*)(val* self))((((long)var_83&3)?class_info[((long)var_83&3)]:var_83->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_83); /* finish on <var_83:IndexedIterator[String]>*/
 }
 if (likely(varonce93!=NULL)) {
 var94 = varonce93;
 } else {
 var95 = "Fatal Error: cannot locate a valid base Nit directory. It is quite unexpected. Try to set the environment variable `NIT_DIR` or to use the `--nit-dir` option.";
-var96 = standard___standard__NativeString___to_s_with_length(var95, 158l);
+var96 = core__flat___NativeString___to_s_full(var95, 158l, 158l);
 var94 = var96;
 varonce93 = var94;
 }
 {
-nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var94); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
+nitc___nitc__ToolContext___fatal_error(self, ((val*)NULL), var94); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
 }
 PRINT_ERROR("Runtime error: %s", "Aborted");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 564);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 571);
 fatal_exit(1);
 RET_LABEL:;
 return var;
 }
 /* method toolcontext#ToolContext#check_nit_dir for (self: ToolContext, String): Bool */
-short int nit___nit__ToolContext___check_nit_dir(val* self, val* p0) {
+short int nitc___nitc__ToolContext___check_nit_dir(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_res /* var res: String */;
 short int var1 /* : Bool */;
@@ -5001,37 +5041,37 @@ static val* varonce;
 static val* varonce4;
 val* var5 /* : String */;
 char* var6 /* : NativeString */;
-val* var7 /* : FlatString */;
+val* var7 /* : String */;
 val* var8 /* : String */;
 short int var9 /* : Bool */;
 var_res = p0;
 {
-var2 = standard__file___String___file_exists(var_res);
+var2 = core__file___String___file_exists(var_res);
 }
 var_ = var2;
 if (var2){
 if (unlikely(varonce==NULL)) {
-var3 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+var3 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
 if (likely(varonce4!=NULL)) {
 var5 = varonce4;
 } else {
 var6 = "/src/nit.nit";
-var7 = standard___standard__NativeString___to_s_with_length(var6, 12l);
+var7 = core__flat___NativeString___to_s_full(var6, 12l, 12l);
 var5 = var7;
 varonce4 = var5;
 }
-((struct instance_standard__NativeArray*)var3)->values[1]=var5;
+((struct instance_core__NativeArray*)var3)->values[1]=var5;
 } else {
 var3 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var3)->values[0]=var_res;
+((struct instance_core__NativeArray*)var3)->values[0]=var_res;
 {
-var8 = ((val*(*)(val* self))(var3->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var3); /* native_to_s on <var3:NativeArray[String]>*/
+var8 = ((val*(*)(val* self))(var3->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var3); /* native_to_s on <var3:NativeArray[String]>*/
 }
 varonce = var3;
 {
-var9 = standard__file___String___file_exists(var8);
+var9 = core__file___String___file_exists(var8);
 }
 var1 = var9;
 } else {
@@ -5043,13 +5083,13 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#BashCompletion#toolcontext for (self: BashCompletion): ToolContext */
-val* nit___nit__BashCompletion___toolcontext(val* self) {
+val* nitc___nitc__BashCompletion___toolcontext(val* self) {
 val* var /* : ToolContext */;
 val* var1 /* : ToolContext */;
-var1 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
+var1 = self->attrs[COLOR_nitc__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 602);
 fatal_exit(1);
 }
 var = var1;
@@ -5057,12 +5097,12 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#BashCompletion#toolcontext= for (self: BashCompletion, ToolContext) */
-void nit___nit__BashCompletion___toolcontext_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val = p0; /* _toolcontext on <self:BashCompletion> */
+void nitc___nitc__BashCompletion___toolcontext_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__toolcontext__BashCompletion___toolcontext].val = p0; /* _toolcontext on <self:BashCompletion> */
 RET_LABEL:;
 }
 /* method toolcontext#BashCompletion#extract_options_names for (self: BashCompletion): Array[String] */
-val* nit___nit__BashCompletion___extract_options_names(val* self) {
+val* nitc___nitc__BashCompletion___extract_options_names(val* self) {
 val* var /* : Array[String] */;
 val* var1 /* : Array[String] */;
 val* var_names /* var names: Array[String] */;
@@ -5073,35 +5113,35 @@ val* var7 /* : OptionContext */;
 val* var8 /* : Array[Option] */;
 val* var10 /* : Array[Option] */;
 val* var_ /* var : Array[Option] */;
-val* var11 /* : ArrayIterator[nullable Object] */;
-val* var_12 /* var : ArrayIterator[Option] */;
+val* var11 /* : IndexedIterator[nullable Object] */;
+val* var_12 /* var : IndexedIterator[Option] */;
 short int var13 /* : Bool */;
 val* var14 /* : nullable Object */;
 val* var_option /* var option: Option */;
 val* var15 /* : Array[String] */;
 val* var17 /* : Array[String] */;
 val* var_18 /* var : Array[String] */;
-val* var19 /* : ArrayIterator[nullable Object] */;
-val* var_20 /* var : ArrayIterator[String] */;
+val* var19 /* : IndexedIterator[nullable Object] */;
+val* var_20 /* var : IndexedIterator[String] */;
 short int var21 /* : Bool */;
-val* var22 /* : nullable Object */;
+val* var23 /* : nullable Object */;
 val* var_name /* var name: String */;
 static val* varonce;
-val* var23 /* : String */;
-char* var24 /* : NativeString */;
-val* var25 /* : FlatString */;
-short int var26 /* : Bool */;
-var1 = NEW_standard__Array(&type_standard__Array__standard__String);
+val* var24 /* : String */;
+char* var25 /* : NativeString */;
+val* var26 /* : String */;
+short int var27 /* : Bool */;
+var1 = NEW_core__Array(&type_core__Array__core__String);
 {
-standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[String]>*/
+core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[String]>*/
 }
 var_names = var1;
 {
 { /* Inline toolcontext#BashCompletion#toolcontext (self) on <self:BashCompletion> */
-var4 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
+var4 = self->attrs[COLOR_nitc__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
 if (unlikely(var4 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 602);
 fatal_exit(1);
 }
 var2 = var4;
@@ -5110,10 +5150,10 @@ RET_LABEL3:(void)0;
 }
 {
 { /* Inline toolcontext#ToolContext#option_context (var2) on <var2:ToolContext> */
-var7 = var2->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <var2:ToolContext> */
+var7 = var2->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <var2:ToolContext> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
 fatal_exit(1);
 }
 var5 = var7;
@@ -5125,7 +5165,7 @@ RET_LABEL6:(void)0;
 var10 = var5->attrs[COLOR_opts__OptionContext___options].val; /* _options on <var5:OptionContext> */
 if (unlikely(var10 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264);
+PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277);
 fatal_exit(1);
 }
 var8 = var10;
@@ -5134,16 +5174,19 @@ RET_LABEL9:(void)0;
 }
 var_ = var8;
 {
-var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var11 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
 var_12 = var11;
 for(;;) {
 {
-var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12);
+var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on <var_12:IndexedIterator[Option]>*/
 }
 if (var13){
+} else {
+goto BREAK_label;
+}
 {
-var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12);
+var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_12); /* item on <var_12:IndexedIterator[Option]>*/
 }
 var_option = var14;
 {
@@ -5160,56 +5203,53 @@ RET_LABEL16:(void)0;
 }
 var_18 = var15;
 {
-var19 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_18);
+var19 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_18);
 }
 var_20 = var19;
 for(;;) {
 {
-var21 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20);
+var21 = ((short int(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_20); /* is_ok on <var_20:IndexedIterator[String]>*/
 }
 if (var21){
+} else {
+goto BREAK_label22;
+}
 {
-var22 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20);
+var23 = ((val*(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_20); /* item on <var_20:IndexedIterator[String]>*/
 }
-var_name = var22;
+var_name = var23;
 if (likely(varonce!=NULL)) {
-var23 = varonce;
+var24 = varonce;
 } else {
-var24 = "--";
-var25 = standard___standard__NativeString___to_s_with_length(var24, 2l);
-var23 = var25;
-varonce = var23;
+var25 = "--";
+var26 = core__flat___NativeString___to_s_full(var25, 2l, 2l);
+var24 = var26;
+varonce = var24;
 }
 {
-var26 = standard___standard__Text___has_prefix(var_name, var23);
+var27 = core___core__Text___has_prefix(var_name, var24);
 }
-if (var26){
+if (var27){
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_names, var_name); /* Direct call array#Array#add on <var_names:Array[String]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_names, var_name); /* Direct call array#Array#add on <var_names:Array[String]>*/
 }
 } else {
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20); /* Direct call array#ArrayIterator#next on <var_20:ArrayIterator[String]>*/
+((void(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_20); /* next on <var_20:IndexedIterator[String]>*/
 }
-} else {
-goto BREAK_label;
 }
-}
-BREAK_label: (void)0;
+BREAK_label22: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_20); /* Direct call array#ArrayIterator#finish on <var_20:ArrayIterator[String]>*/
+((void(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_20); /* finish on <var_20:IndexedIterator[String]>*/
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[Option]>*/
-}
-} else {
-goto BREAK_label27;
+((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_12); /* next on <var_12:IndexedIterator[Option]>*/
 }
 }
-BREAK_label27: (void)0;
+BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on <var_12:ArrayIterator[Option]>*/
+((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_12); /* finish on <var_12:IndexedIterator[Option]>*/
 }
 var = var_names;
 goto RET_LABEL;
@@ -5217,7 +5257,7 @@ RET_LABEL:;
 return var;
 }
 /* method toolcontext#BashCompletion#rendering for (self: BashCompletion) */
-void nit___nit__BashCompletion___template__Template__rendering(val* self) {
+void nitc___nitc__BashCompletion___template__Template__rendering(val* self) {
 val* var /* : ToolContext */;
 val* var2 /* : ToolContext */;
 val* var3 /* : String */;
@@ -5229,11 +5269,11 @@ static val* varonce;
 static val* varonce6;
 val* var7 /* : String */;
 char* var8 /* : NativeString */;
-val* var9 /* : FlatString */;
+val* var9 /* : String */;
 static val* varonce10;
 val* var11 /* : String */;
 char* var12 /* : NativeString */;
-val* var13 /* : FlatString */;
+val* var13 /* : String */;
 val* var14 /* : ToolContext */;
 val* var16 /* : ToolContext */;
 val* var17 /* : String */;
@@ -5243,32 +5283,32 @@ static val* varonce19;
 static val* varonce21;
 val* var22 /* : String */;
 char* var23 /* : NativeString */;
-val* var24 /* : FlatString */;
+val* var24 /* : String */;
 static val* varonce25;
 val* var26 /* : String */;
 char* var27 /* : NativeString */;
-val* var28 /* : FlatString */;
+val* var28 /* : String */;
 val* var29 /* : String */;
 static val* varonce30;
 val* var31 /* : String */;
 char* var32 /* : NativeString */;
-val* var33 /* : FlatString */;
+val* var33 /* : String */;
 static val* varonce34;
 val* var35 /* : String */;
 char* var36 /* : NativeString */;
-val* var37 /* : FlatString */;
+val* var37 /* : String */;
 static val* varonce38;
 val* var39 /* : String */;
 char* var40 /* : NativeString */;
-val* var41 /* : FlatString */;
+val* var41 /* : String */;
 static val* varonce42;
 val* var43 /* : String */;
 char* var44 /* : NativeString */;
-val* var45 /* : FlatString */;
+val* var45 /* : String */;
 static val* varonce46;
 val* var47 /* : String */;
 char* var48 /* : NativeString */;
-val* var49 /* : FlatString */;
+val* var49 /* : String */;
 short int var50 /* : Bool */;
 short int var51 /* : Bool */;
 val* var53 /* : NativeArray[String] */;
@@ -5276,54 +5316,54 @@ static val* varonce52;
 static val* varonce54;
 val* var55 /* : String */;
 char* var56 /* : NativeString */;
-val* var57 /* : FlatString */;
+val* var57 /* : String */;
 static val* varonce58;
 val* var59 /* : String */;
 char* var60 /* : NativeString */;
-val* var61 /* : FlatString */;
+val* var61 /* : String */;
 static val* varonce62;
 val* var63 /* : String */;
 char* var64 /* : NativeString */;
-val* var65 /* : FlatString */;
+val* var65 /* : String */;
 val* var66 /* : String */;
 val* var67 /* : String */;
 static val* varonce68;
 val* var69 /* : String */;
 char* var70 /* : NativeString */;
-val* var71 /* : FlatString */;
+val* var71 /* : String */;
 static val* varonce72;
 val* var73 /* : String */;
 char* var74 /* : NativeString */;
-val* var75 /* : FlatString */;
+val* var75 /* : String */;
 static val* varonce76;
 val* var77 /* : String */;
 char* var78 /* : NativeString */;
-val* var79 /* : FlatString */;
+val* var79 /* : String */;
 static val* varonce80;
 val* var81 /* : String */;
 char* var82 /* : NativeString */;
-val* var83 /* : FlatString */;
+val* var83 /* : String */;
 static val* varonce84;
 val* var85 /* : String */;
 char* var86 /* : NativeString */;
-val* var87 /* : FlatString */;
+val* var87 /* : String */;
 val* var89 /* : NativeArray[String] */;
 static val* varonce88;
 static val* varonce90;
 val* var91 /* : String */;
 char* var92 /* : NativeString */;
-val* var93 /* : FlatString */;
+val* var93 /* : String */;
 static val* varonce94;
 val* var95 /* : String */;
 char* var96 /* : NativeString */;
-val* var97 /* : FlatString */;
+val* var97 /* : String */;
 val* var98 /* : String */;
 {
 { /* Inline toolcontext#BashCompletion#toolcontext (self) on <self:BashCompletion> */
-var2 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
+var2 = self->attrs[COLOR_nitc__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 602);
 fatal_exit(1);
 }
 var = var2;
@@ -5331,44 +5371,44 @@ RET_LABEL1:(void)0;
 }
 }
 {
-var3 = nit___nit__ToolContext___toolname(var);
+var3 = nitc___nitc__ToolContext___toolname(var);
 }
 var_name = var3;
 {
-var4 = nit___nit__BashCompletion___extract_options_names(self);
+var4 = nitc___nitc__BashCompletion___extract_options_names(self);
 }
 var_option_names = var4;
 if (unlikely(varonce==NULL)) {
-var5 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
+var5 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
 if (likely(varonce6!=NULL)) {
 var7 = varonce6;
 } else {
 var8 = "# generated bash completion file for ";
-var9 = standard___standard__NativeString___to_s_with_length(var8, 37l);
+var9 = core__flat___NativeString___to_s_full(var8, 37l, 37l);
 var7 = var9;
 varonce6 = var7;
 }
-((struct instance_standard__NativeArray*)var5)->values[0]=var7;
+((struct instance_core__NativeArray*)var5)->values[0]=var7;
 if (likely(varonce10!=NULL)) {
 var11 = varonce10;
 } else {
 var12 = " ";
-var13 = standard___standard__NativeString___to_s_with_length(var12, 1l);
+var13 = core__flat___NativeString___to_s_full(var12, 1l, 1l);
 var11 = var13;
 varonce10 = var11;
 }
-((struct instance_standard__NativeArray*)var5)->values[2]=var11;
+((struct instance_core__NativeArray*)var5)->values[2]=var11;
 } else {
 var5 = varonce;
 varonce = NULL;
 }
-((struct instance_standard__NativeArray*)var5)->values[1]=var_name;
+((struct instance_core__NativeArray*)var5)->values[1]=var_name;
 {
 { /* Inline toolcontext#BashCompletion#toolcontext (self) on <self:BashCompletion> */
-var16 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
+var16 = self->attrs[COLOR_nitc__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on <self:BashCompletion> */
 if (unlikely(var16 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 602);
 fatal_exit(1);
 }
 var14 = var16;
@@ -5376,43 +5416,43 @@ RET_LABEL15:(void)0;
 }
 }
 {
-var17 = nit___nit__ToolContext___version(var14);
+var17 = nitc___nitc__ToolContext___version(var14);
 }
-((struct instance_standard__NativeArray*)var5)->values[3]=var17;
+((struct instance_core__NativeArray*)var5)->values[3]=var17;
 {
-var18 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on <var5:NativeArray[String]>*/
+var18 = ((val*(*)(val* self))(var5->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var5); /* native_to_s on <var5:NativeArray[String]>*/
 }
 varonce = var5;
 {
 template___template__Template___addn(self, var18); /* Direct call template#Template#addn on <self:BashCompletion>*/
 }
 if (unlikely(varonce19==NULL)) {
-var20 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var20 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce21!=NULL)) {
 var22 = varonce21;
 } else {
 var23 = "_";
-var24 = standard___standard__NativeString___to_s_with_length(var23, 1l);
+var24 = core__flat___NativeString___to_s_full(var23, 1l, 1l);
 var22 = var24;
 varonce21 = var22;
 }
-((struct instance_standard__NativeArray*)var20)->values[0]=var22;
+((struct instance_core__NativeArray*)var20)->values[0]=var22;
 if (likely(varonce25!=NULL)) {
 var26 = varonce25;
 } else {
 var27 = "()";
-var28 = standard___standard__NativeString___to_s_with_length(var27, 2l);
+var28 = core__flat___NativeString___to_s_full(var27, 2l, 2l);
 var26 = var28;
 varonce25 = var26;
 }
-((struct instance_standard__NativeArray*)var20)->values[2]=var26;
+((struct instance_core__NativeArray*)var20)->values[2]=var26;
 } else {
 var20 = varonce19;
 varonce19 = NULL;
 }
-((struct instance_standard__NativeArray*)var20)->values[1]=var_name;
+((struct instance_core__NativeArray*)var20)->values[1]=var_name;
 {
-var29 = ((val*(*)(val* self))(var20->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var20); /* native_to_s on <var20:NativeArray[String]>*/
+var29 = ((val*(*)(val* self))(var20->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var20); /* native_to_s on <var20:NativeArray[String]>*/
 }
 varonce19 = var20;
 {
@@ -5422,7 +5462,7 @@ if (likely(varonce30!=NULL)) {
 var31 = varonce30;
 } else {
 var32 = "{";
-var33 = standard___standard__NativeString___to_s_with_length(var32, 1l);
+var33 = core__flat___NativeString___to_s_full(var32, 1l, 1l);
 var31 = var33;
 varonce30 = var31;
 }
@@ -5433,7 +5473,7 @@ if (likely(varonce34!=NULL)) {
 var35 = varonce34;
 } else {
 var36 = "\tlocal cur prev opts";
-var37 = standard___standard__NativeString___to_s_with_length(var36, 20l);
+var37 = core__flat___NativeString___to_s_full(var36, 20l, 20l);
 var35 = var37;
 varonce34 = var35;
 }
@@ -5444,7 +5484,7 @@ if (likely(varonce38!=NULL)) {
 var39 = varonce38;
 } else {
 var40 = "\tCOMPREPLY=()";
-var41 = standard___standard__NativeString___to_s_with_length(var40, 13l);
+var41 = core__flat___NativeString___to_s_full(var40, 13l, 13l);
 var39 = var41;
 varonce38 = var39;
 }
@@ -5455,7 +5495,7 @@ if (likely(varonce42!=NULL)) {
 var43 = varonce42;
 } else {
 var44 = "\tcur=\"${COMP_WORDS[COMP_CWORD]}\"";
-var45 = standard___standard__NativeString___to_s_with_length(var44, 32l);
+var45 = core__flat___NativeString___to_s_full(var44, 32l, 32l);
 var43 = var45;
 varonce42 = var43;
 }
@@ -5466,7 +5506,7 @@ if (likely(varonce46!=NULL)) {
 var47 = varonce46;
 } else {
 var48 = "\tprev=\"${COMP_WORDS[COMP_CWORD-1]}\"";
-var49 = standard___standard__NativeString___to_s_with_length(var48, 35l);
+var49 = core__flat___NativeString___to_s_full(var48, 35l, 35l);
 var47 = var49;
 varonce46 = var47;
 }
@@ -5474,30 +5514,30 @@ varonce46 = var47;
 template___template__Template___addn(self, var47); /* Direct call template#Template#addn on <self:BashCompletion>*/
 }
 {
-var50 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_option_names);
+var50 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_option_names);
 }
 var51 = !var50;
 if (var51){
 if (unlikely(varonce52==NULL)) {
-var53 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var53 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce54!=NULL)) {
 var55 = varonce54;
 } else {
 var56 = "\topts=\"";
-var57 = standard___standard__NativeString___to_s_with_length(var56, 7l);
+var57 = core__flat___NativeString___to_s_full(var56, 7l, 7l);
 var55 = var57;
 varonce54 = var55;
 }
-((struct instance_standard__NativeArray*)var53)->values[0]=var55;
+((struct instance_core__NativeArray*)var53)->values[0]=var55;
 if (likely(varonce58!=NULL)) {
 var59 = varonce58;
 } else {
 var60 = "\"";
-var61 = standard___standard__NativeString___to_s_with_length(var60, 1l);
+var61 = core__flat___NativeString___to_s_full(var60, 1l, 1l);
 var59 = var61;
 varonce58 = var59;
 }
-((struct instance_standard__NativeArray*)var53)->values[2]=var59;
+((struct instance_core__NativeArray*)var53)->values[2]=var59;
 } else {
 var53 = varonce52;
 varonce52 = NULL;
@@ -5506,16 +5546,16 @@ if (likely(varonce62!=NULL)) {
 var63 = varonce62;
 } else {
 var64 = " ";
-var65 = standard___standard__NativeString___to_s_with_length(var64, 1l);
+var65 = core__flat___NativeString___to_s_full(var64, 1l, 1l);
 var63 = var65;
 varonce62 = var63;
 }
 {
-var66 = standard__string___Collection___join(var_option_names, var63);
+var66 = core__abstract_text___Collection___join(var_option_names, var63);
 }
-((struct instance_standard__NativeArray*)var53)->values[1]=var66;
+((struct instance_core__NativeArray*)var53)->values[1]=var66;
 {
-var67 = ((val*(*)(val* self))(var53->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var53); /* native_to_s on <var53:NativeArray[String]>*/
+var67 = ((val*(*)(val* self))(var53->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var53); /* native_to_s on <var53:NativeArray[String]>*/
 }
 varonce52 = var53;
 {
@@ -5525,7 +5565,7 @@ if (likely(varonce68!=NULL)) {
 var69 = varonce68;
 } else {
 var70 = "\tif [[ ${cur} == -* ]] ; then";
-var71 = standard___standard__NativeString___to_s_with_length(var70, 29l);
+var71 = core__flat___NativeString___to_s_full(var70, 29l, 29l);
 var69 = var71;
 varonce68 = var69;
 }
@@ -5536,7 +5576,7 @@ if (likely(varonce72!=NULL)) {
 var73 = varonce72;
 } else {
 var74 = "\t\tCOMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )";
-var75 = standard___standard__NativeString___to_s_with_length(var74, 49l);
+var75 = core__flat___NativeString___to_s_full(var74, 49l, 49l);
 var73 = var75;
 varonce72 = var73;
 }
@@ -5547,7 +5587,7 @@ if (likely(varonce76!=NULL)) {
 var77 = varonce76;
 } else {
 var78 = "\t\treturn 0";
-var79 = standard___standard__NativeString___to_s_with_length(var78, 10l);
+var79 = core__flat___NativeString___to_s_full(var78, 10l, 10l);
 var77 = var79;
 varonce76 = var77;
 }
@@ -5558,7 +5598,7 @@ if (likely(varonce80!=NULL)) {
 var81 = varonce80;
 } else {
 var82 = "\tfi";
-var83 = standard___standard__NativeString___to_s_with_length(var82, 3l);
+var83 = core__flat___NativeString___to_s_full(var82, 3l, 3l);
 var81 = var83;
 varonce80 = var81;
 }
@@ -5571,7 +5611,7 @@ if (likely(varonce84!=NULL)) {
 var85 = varonce84;
 } else {
 var86 = "} &&";
-var87 = standard___standard__NativeString___to_s_with_length(var86, 4l);
+var87 = core__flat___NativeString___to_s_full(var86, 4l, 4l);
 var85 = var87;
 varonce84 = var85;
 }
@@ -5579,33 +5619,33 @@ varonce84 = var85;
 template___template__Template___addn(self, var85); /* Direct call template#Template#addn on <self:BashCompletion>*/
 }
 if (unlikely(varonce88==NULL)) {
-var89 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
+var89 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
 if (likely(varonce90!=NULL)) {
 var91 = varonce90;
 } else {
 var92 = "complete -o default -F _";
-var93 = standard___standard__NativeString___to_s_with_length(var92, 24l);
+var93 = core__flat___NativeString___to_s_full(var92, 24l, 24l);
 var91 = var93;
 varonce90 = var91;
 }
-((struct instance_standard__NativeArray*)var89)->values[0]=var91;
+((struct instance_core__NativeArray*)var89)->values[0]=var91;
 if (likely(varonce94!=NULL)) {
 var95 = varonce94;
 } else {
 var96 = " ";
-var97 = standard___standard__NativeString___to_s_with_length(var96, 1l);
+var97 = core__flat___NativeString___to_s_full(var96, 1l, 1l);
 var95 = var97;
 varonce94 = var95;
 }
-((struct instance_standard__NativeArray*)var89)->values[2]=var95;
+((struct instance_core__NativeArray*)var89)->values[2]=var95;
 } else {
 var89 = varonce88;
 varonce88 = NULL;
 }
-((struct instance_standard__NativeArray*)var89)->values[1]=var_name;
-((struct instance_standard__NativeArray*)var89)->values[3]=var_name;
+((struct instance_core__NativeArray*)var89)->values[1]=var_name;
+((struct instance_core__NativeArray*)var89)->values[3]=var_name;
 {
-var98 = ((val*(*)(val* self))(var89->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var89); /* native_to_s on <var89:NativeArray[String]>*/
+var98 = ((val*(*)(val* self))(var89->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var89); /* native_to_s on <var89:NativeArray[String]>*/
 }
 varonce88 = var89;
 {
@@ -5614,9 +5654,9 @@ template___template__Template___addn(self, var98); /* Direct call template#Templ
 RET_LABEL:;
 }
 /* method toolcontext#BashCompletion#init for (self: BashCompletion) */
-void nit___nit__BashCompletion___standard__kernel__Object__init(val* self) {
+void nitc___nitc__BashCompletion___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_nit___nit__BashCompletion___standard__kernel__Object__init]))(self); /* init on <self:BashCompletion>*/
+((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__BashCompletion___core__kernel__Object__init]))(self); /* init on <self:BashCompletion>*/
 }
 RET_LABEL:;
 }