c_src: regenerate
[nit.git] / c_src / nitc__modelize_property.sep.3.c
similarity index 50%
rename from c_src/nit__modelize_property.sep.3.c
rename to c_src/nitc__modelize_property.sep.3.c
index 122528d..23ca8c3 100644 (file)
@@ -1,6 +1,6 @@
-#include "nit__modelize_property.sep.0.h"
+#include "nitc__modelize_property.sep.0.h"
 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder) */
-void nit__modelize_property___AAttrPropdef___APropdef__check_signature(val* self, val* p0) {
+void nitc__modelize_property___AAttrPropdef___APropdef__check_signature(val* self, val* p0) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var /* : nullable MPropDef */;
 val* var2 /* : nullable MPropDef */;
@@ -70,15 +70,15 @@ static val* varonce;
 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* var88 /* : String */;
 val* var89 /* : String */;
 val* var90 /* : String */;
@@ -108,7 +108,7 @@ short int var119 /* : Bool */;
 var_modelbuilder = p0;
 {
 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
-var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var2 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -142,7 +142,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
-var11 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var11 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
 var9 = var11;
 RET_LABEL10:(void)0;
 }
@@ -150,7 +150,7 @@ RET_LABEL10:(void)0;
 var_ntype = var9;
 {
 { /* Inline modelize_property#AAttrPropdef#mtype (self) on <self:AAttrPropdef> */
-var14 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mtype].val; /* _mtype on <self:AAttrPropdef> */
+var14 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mtype].val; /* _mtype on <self:AAttrPropdef> */
 var12 = var14;
 RET_LABEL13:(void)0;
 }
@@ -184,10 +184,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
-var23 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
+var23 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
 if (unlikely(var23 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
 var21 = var23;
@@ -197,10 +197,10 @@ RET_LABEL22:(void)0;
 var_mclassdef = var21;
 {
 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
-var26 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
+var26 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
 if (unlikely(var26 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573);
 fatal_exit(1);
 }
 var24 = var26;
@@ -217,7 +217,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
 var_other30 = ((val*)NULL);
 {
-var31 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other30); /* == on <var_ntype:nullable AType(AType)>*/
+var31 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ntype, var_other30); /* == on <var_ntype:nullable AType(AType)>*/
 }
 var32 = !var31;
 var28 = var32;
@@ -228,7 +228,7 @@ var27 = var28;
 }
 if (var27){
 {
-var33 = nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype);
+var33 = nitc___nitc__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype);
 }
 if (var33 == NULL) {
 var34 = 1; /* is null */
@@ -260,15 +260,15 @@ goto RET_LABEL;
 }
 {
 { /* Inline parser_nodes#AAttrPropdef#n_expr (self) on <self:AAttrPropdef> */
-var42 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
+var42 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
 var40 = var42;
 RET_LABEL41:(void)0;
 }
 }
 var_nexpr = var40;
 /* <var_nexpr:nullable AExpr> isa ANewExpr */
-cltype = type_nit__ANewExpr.color;
-idtype = type_nit__ANewExpr.id;
+cltype = type_nitc__ANewExpr.color;
+idtype = type_nitc__ANewExpr.id;
 if(var_nexpr == NULL) {
 var43 = 0;
 } else {
@@ -281,10 +281,10 @@ var43 = var_nexpr->type->type_table[cltype] == idtype;
 if (var43){
 {
 { /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
-var46 = var_nexpr->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
+var46 = var_nexpr->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_type].val; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
 if (unlikely(var46 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2255);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2259);
 fatal_exit(1);
 }
 var44 = var46;
@@ -292,7 +292,7 @@ RET_LABEL45:(void)0;
 }
 }
 {
-var47 = nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var44);
+var47 = nitc___nitc__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var44);
 }
 if (var47 == NULL) {
 var48 = 1; /* is null */
@@ -323,16 +323,16 @@ goto RET_LABEL;
 } else {
 }
 {
-var54 = nit___nit__MPropDef___is_intro(var_mpropdef);
+var54 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
 }
 var55 = !var54;
 if (var55){
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
-var58 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
+var58 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
 if (unlikely(var58 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var56 = var58;
@@ -341,10 +341,10 @@ RET_LABEL57:(void)0;
 }
 {
 { /* Inline model#MProperty#intro (var56) on <var56:MProperty(MAttribute)> */
-var61 = var56->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var56:MProperty(MAttribute)> */
+var61 = var56->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var56:MProperty(MAttribute)> */
 if (unlikely(var61 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986);
 fatal_exit(1);
 }
 var59 = var61;
@@ -353,7 +353,7 @@ RET_LABEL60:(void)0;
 }
 {
 { /* Inline model#MAttributeDef#static_mtype (var59) on <var59:MPropDef(MAttributeDef)> */
-var64 = var59->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val; /* _static_mtype on <var59:MPropDef(MAttributeDef)> */
+var64 = var59->attrs[COLOR_nitc__model__MAttributeDef___static_mtype].val; /* _static_mtype on <var59:MPropDef(MAttributeDef)> */
 var62 = var64;
 RET_LABEL63:(void)0;
 }
@@ -389,7 +389,7 @@ goto RET_LABEL;
 { /* Inline kernel#Object#!= (var_mtype,var_precursor_type) on <var_mtype:nullable MType(MType)> */
 var_other30 = var_precursor_type;
 {
-var73 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other30); /* == on <var_mtype:nullable MType(MType)>*/
+var73 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mtype, var_other30); /* == on <var_mtype:nullable MType(MType)>*/
 }
 var74 = !var73;
 var71 = var74;
@@ -400,56 +400,56 @@ RET_LABEL72:(void)0;
 if (var71){
 if (unlikely(var_ntype == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1438);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1470);
 fatal_exit(1);
 }
 if (unlikely(varonce==NULL)) {
-var75 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
+var75 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
 if (likely(varonce76!=NULL)) {
 var77 = varonce76;
 } else {
 var78 = "Redef Error: expected `";
-var79 = standard___standard__NativeString___to_s_with_length(var78, 23l);
+var79 = core__flat___NativeString___to_s_full(var78, 23l, 23l);
 var77 = var79;
 varonce76 = var77;
 }
-((struct instance_standard__NativeArray*)var75)->values[0]=var77;
+((struct instance_core__NativeArray*)var75)->values[0]=var77;
 if (likely(varonce80!=NULL)) {
 var81 = varonce80;
 } else {
 var82 = "` type as a bound; got `";
-var83 = standard___standard__NativeString___to_s_with_length(var82, 24l);
+var83 = core__flat___NativeString___to_s_full(var82, 24l, 24l);
 var81 = var83;
 varonce80 = var81;
 }
-((struct instance_standard__NativeArray*)var75)->values[2]=var81;
+((struct instance_core__NativeArray*)var75)->values[2]=var81;
 if (likely(varonce84!=NULL)) {
 var85 = varonce84;
 } else {
 var86 = "`.";
-var87 = standard___standard__NativeString___to_s_with_length(var86, 2l);
+var87 = core__flat___NativeString___to_s_full(var86, 2l, 2l);
 var85 = var87;
 varonce84 = var85;
 }
-((struct instance_standard__NativeArray*)var75)->values[4]=var85;
+((struct instance_core__NativeArray*)var75)->values[4]=var85;
 } else {
 var75 = varonce;
 varonce = NULL;
 }
 {
-var88 = ((val*(*)(val* self))(var_precursor_type->class->vft[COLOR_standard__string__Object__to_s]))(var_precursor_type); /* to_s on <var_precursor_type:nullable MType(MType)>*/
+var88 = ((val*(*)(val* self))(var_precursor_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_precursor_type); /* to_s on <var_precursor_type:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var75)->values[1]=var88;
+((struct instance_core__NativeArray*)var75)->values[1]=var88;
 {
-var89 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on <var_mtype:nullable MType(MType)>*/
+var89 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on <var_mtype:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var75)->values[3]=var89;
+((struct instance_core__NativeArray*)var75)->values[3]=var89;
 {
-var90 = ((val*(*)(val* self))(var75->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var75); /* native_to_s on <var75:NativeArray[String]>*/
+var90 = ((val*(*)(val* self))(var75->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var75); /* native_to_s on <var75:NativeArray[String]>*/
 }
 varonce = var75;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var_ntype, var90); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_ntype, var90); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
@@ -458,7 +458,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
-var93 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
+var93 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
 var91 = var93;
 RET_LABEL92:(void)0;
 }
@@ -473,7 +473,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_meth,((val*)NULL)) on <var_meth:nullable MMethodDef> */
 var_other30 = ((val*)NULL);
 {
-var97 = ((short int(*)(val* self, val* p0))(var_meth->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_meth, var_other30); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
+var97 = ((short int(*)(val* self, val* p0))(var_meth->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_meth, var_other30); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
 }
 var98 = !var97;
 var95 = var98;
@@ -484,7 +484,7 @@ var94 = var95;
 }
 if (var94){
 {
-nit__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
+nitc__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
 }
 var_node = var_ntype;
 if (var_node == NULL) {
@@ -514,13 +514,13 @@ var_node = self;
 } else {
 }
 {
-nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
+nitc__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
 {
 { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on <self:AAttrPropdef> */
-var107 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on <self:AAttrPropdef> */
+var107 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on <self:AAttrPropdef> */
 var105 = var107;
 RET_LABEL106:(void)0;
 }
@@ -535,7 +535,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_meth,((val*)NULL)) on <var_meth:nullable MMethodDef> */
 var_other30 = ((val*)NULL);
 {
-var111 = ((short int(*)(val* self, val* p0))(var_meth->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_meth, var_other30); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
+var111 = ((short int(*)(val* self, val* p0))(var_meth->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_meth, var_other30); /* == on <var_meth:nullable MMethodDef(MMethodDef)>*/
 }
 var112 = !var111;
 var109 = var112;
@@ -546,7 +546,7 @@ var108 = var109;
 }
 if (var108){
 {
-nit__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
+nitc__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on <self:AAttrPropdef>*/
 }
 var_node113 = var_ntype;
 if (var_node113 == NULL) {
@@ -576,14 +576,14 @@ var_node113 = self;
 } else {
 }
 {
-nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node113, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
+nitc__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node113, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
 RET_LABEL:;
 }
 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, MMethodDef) */
-void nit__modelize_property___AAttrPropdef___check_method_signature(val* self, val* p0, val* p1) {
+void nitc__modelize_property___AAttrPropdef___check_method_signature(val* self, val* p0, val* p1) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var_mpropdef /* var mpropdef: MMethodDef */;
 val* var /* : MClassDef */;
@@ -632,23 +632,23 @@ static val* varonce;
 static val* varonce48;
 val* var49 /* : String */;
 char* var50 /* : NativeString */;
-val* var51 /* : FlatString */;
+val* var51 /* : String */;
 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 */;
+val* var59 /* : String */;
 static val* varonce60;
 val* var61 /* : String */;
 char* var62 /* : NativeString */;
-val* var63 /* : FlatString */;
+val* var63 /* : String */;
 static val* varonce64;
 val* var65 /* : String */;
 char* var66 /* : NativeString */;
-val* var67 /* : FlatString */;
+val* var67 /* : String */;
 long var68 /* : Int */;
 val* var69 /* : String */;
 val* var70 /* : MProperty */;
@@ -688,11 +688,11 @@ static val* varonce108;
 static val* varonce110;
 val* var111 /* : String */;
 char* var112 /* : NativeString */;
-val* var113 /* : FlatString */;
+val* var113 /* : String */;
 static val* varonce114;
 val* var115 /* : String */;
 char* var116 /* : NativeString */;
-val* var117 /* : FlatString */;
+val* var117 /* : String */;
 val* var118 /* : MProperty */;
 val* var120 /* : MProperty */;
 val* var121 /* : String */;
@@ -739,19 +739,19 @@ static val* varonce162;
 static val* varonce164;
 val* var165 /* : String */;
 char* var166 /* : NativeString */;
-val* var167 /* : FlatString */;
+val* var167 /* : String */;
 static val* varonce168;
 val* var169 /* : String */;
 char* var170 /* : NativeString */;
-val* var171 /* : FlatString */;
+val* var171 /* : String */;
 static val* varonce172;
 val* var173 /* : String */;
 char* var174 /* : NativeString */;
-val* var175 /* : FlatString */;
+val* var175 /* : String */;
 static val* varonce176;
 val* var177 /* : String */;
 char* var178 /* : NativeString */;
-val* var179 /* : FlatString */;
+val* var179 /* : String */;
 val* var180 /* : String */;
 val* var181 /* : Array[MParameter] */;
 val* var183 /* : Array[MParameter] */;
@@ -783,15 +783,15 @@ static val* varonce213;
 static val* varonce215;
 val* var216 /* : String */;
 char* var217 /* : NativeString */;
-val* var218 /* : FlatString */;
+val* var218 /* : String */;
 static val* varonce219;
 val* var220 /* : String */;
 char* var221 /* : NativeString */;
-val* var222 /* : FlatString */;
+val* var222 /* : String */;
 static val* varonce223;
 val* var224 /* : String */;
 char* var225 /* : NativeString */;
-val* var226 /* : FlatString */;
+val* var226 /* : String */;
 val* var227 /* : String */;
 val* var228 /* : String */;
 val* var229 /* : String */;
@@ -799,10 +799,10 @@ var_modelbuilder = p0;
 var_mpropdef = p1;
 {
 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var2 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:MMethodDef> */
+var2 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:MMethodDef> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
 var = var2;
@@ -812,10 +812,10 @@ RET_LABEL1:(void)0;
 var_mclassdef = var;
 {
 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
-var5 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
+var5 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
 if (unlikely(var5 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573);
 fatal_exit(1);
 }
 var3 = var5;
@@ -825,7 +825,7 @@ RET_LABEL4:(void)0;
 var_mmodule = var3;
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
-var8 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var8 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
 var6 = var8;
 RET_LABEL7:(void)0;
 }
@@ -833,7 +833,7 @@ RET_LABEL7:(void)0;
 var_nsig = var6;
 {
 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var11 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_mpropdef:MMethodDef> */
+var11 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var_mpropdef:MMethodDef> */
 var9 = var11;
 RET_LABEL10:(void)0;
 }
@@ -866,16 +866,16 @@ goto RET_LABEL;
 } else {
 }
 {
-var18 = nit___nit__MPropDef___is_intro(var_mpropdef);
+var18 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
 }
 var19 = !var18;
 if (var19){
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var22 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
+var22 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
 if (unlikely(var22 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var20 = var22;
@@ -884,10 +884,10 @@ RET_LABEL21:(void)0;
 }
 {
 { /* Inline model#MProperty#intro (var20) on <var20:MProperty(MMethod)> */
-var25 = var20->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var20:MProperty(MMethod)> */
+var25 = var20->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var20:MProperty(MMethod)> */
 if (unlikely(var25 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986);
 fatal_exit(1);
 }
 var23 = var25;
@@ -896,7 +896,7 @@ RET_LABEL24:(void)0;
 }
 {
 { /* Inline model#MMethodDef#msignature (var23) on <var23:MPropDef(MMethodDef)> */
-var28 = var23->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var23:MPropDef(MMethodDef)> */
+var28 = var23->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var23:MPropDef(MMethodDef)> */
 var26 = var28;
 RET_LABEL27:(void)0;
 }
@@ -929,10 +929,10 @@ goto RET_LABEL;
 } else {
 }
 {
-var35 = nit___nit__MSignature___arity(var_mysignature);
+var35 = nitc___nitc__MSignature___arity(var_mysignature);
 }
 {
-var36 = nit___nit__MSignature___arity(var_msignature);
+var36 = nitc___nitc__MSignature___arity(var_msignature);
 }
 {
 { /* Inline kernel#Int#!= (var35,var36) on <var35:Int> */
@@ -953,7 +953,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
 var_other44 = ((val*)NULL);
 {
-var45 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
+var45 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
 }
 var46 = !var45;
 var42 = var46;
@@ -968,67 +968,67 @@ var_node = var_nsig;
 var_node = self;
 }
 if (unlikely(varonce==NULL)) {
-var47 = NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String);
+var47 = NEW_core__NativeArray(10l, &type_core__NativeArray__core__String);
 if (likely(varonce48!=NULL)) {
 var49 = varonce48;
 } else {
 var50 = "Redef Error: expected ";
-var51 = standard___standard__NativeString___to_s_with_length(var50, 22l);
+var51 = core__flat___NativeString___to_s_full(var50, 22l, 22l);
 var49 = var51;
 varonce48 = var49;
 }
-((struct instance_standard__NativeArray*)var47)->values[0]=var49;
+((struct instance_core__NativeArray*)var47)->values[0]=var49;
 if (likely(varonce52!=NULL)) {
 var53 = varonce52;
 } else {
 var54 = " parameter(s) for `";
-var55 = standard___standard__NativeString___to_s_with_length(var54, 19l);
+var55 = core__flat___NativeString___to_s_full(var54, 19l, 19l);
 var53 = var55;
 varonce52 = var53;
 }
-((struct instance_standard__NativeArray*)var47)->values[2]=var53;
+((struct instance_core__NativeArray*)var47)->values[2]=var53;
 if (likely(varonce56!=NULL)) {
 var57 = varonce56;
 } else {
 var58 = "`; got ";
-var59 = standard___standard__NativeString___to_s_with_length(var58, 7l);
+var59 = core__flat___NativeString___to_s_full(var58, 7l, 7l);
 var57 = var59;
 varonce56 = var57;
 }
-((struct instance_standard__NativeArray*)var47)->values[5]=var57;
+((struct instance_core__NativeArray*)var47)->values[5]=var57;
 if (likely(varonce60!=NULL)) {
 var61 = varonce60;
 } else {
 var62 = ". See introduction at `";
-var63 = standard___standard__NativeString___to_s_with_length(var62, 23l);
+var63 = core__flat___NativeString___to_s_full(var62, 23l, 23l);
 var61 = var63;
 varonce60 = var61;
 }
-((struct instance_standard__NativeArray*)var47)->values[7]=var61;
+((struct instance_core__NativeArray*)var47)->values[7]=var61;
 if (likely(varonce64!=NULL)) {
 var65 = varonce64;
 } else {
 var66 = "`.";
-var67 = standard___standard__NativeString___to_s_with_length(var66, 2l);
+var67 = core__flat___NativeString___to_s_full(var66, 2l, 2l);
 var65 = var67;
 varonce64 = var65;
 }
-((struct instance_standard__NativeArray*)var47)->values[9]=var65;
+((struct instance_core__NativeArray*)var47)->values[9]=var65;
 } else {
 var47 = varonce;
 varonce = NULL;
 }
 {
-var68 = nit___nit__MSignature___arity(var_msignature);
+var68 = nitc___nitc__MSignature___arity(var_msignature);
 }
-var69 = standard__string___Int___Object__to_s(var68);
-((struct instance_standard__NativeArray*)var47)->values[1]=var69;
+var69 = core__flat___Int___core__abstract_text__Object__to_s(var68);
+((struct instance_core__NativeArray*)var47)->values[1]=var69;
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var72 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
+var72 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
 if (unlikely(var72 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var70 = var72;
@@ -1037,32 +1037,32 @@ RET_LABEL71:(void)0;
 }
 {
 { /* Inline model#MProperty#name (var70) on <var70:MProperty(MMethod)> */
-var75 = var70->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <var70:MProperty(MMethod)> */
+var75 = var70->attrs[COLOR_nitc__model__MProperty___name].val; /* _name on <var70:MProperty(MMethod)> */
 if (unlikely(var75 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1951);
 fatal_exit(1);
 }
 var73 = var75;
 RET_LABEL74:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var47)->values[3]=var73;
+((struct instance_core__NativeArray*)var47)->values[3]=var73;
 {
-var76 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_standard__string__Object__to_s]))(var_msignature); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
+var76 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
 }
-((struct instance_standard__NativeArray*)var47)->values[4]=var76;
+((struct instance_core__NativeArray*)var47)->values[4]=var76;
 {
-var77 = nit___nit__MSignature___arity(var_mysignature);
+var77 = nitc___nitc__MSignature___arity(var_mysignature);
 }
-var78 = standard__string___Int___Object__to_s(var77);
-((struct instance_standard__NativeArray*)var47)->values[6]=var78;
+var78 = core__flat___Int___core__abstract_text__Object__to_s(var77);
+((struct instance_core__NativeArray*)var47)->values[6]=var78;
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var81 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
+var81 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
 if (unlikely(var81 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var79 = var81;
@@ -1070,22 +1070,22 @@ RET_LABEL80:(void)0;
 }
 }
 {
-var82 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var79);
+var82 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var79);
 }
-((struct instance_standard__NativeArray*)var47)->values[8]=var82;
+((struct instance_core__NativeArray*)var47)->values[8]=var82;
 {
-var83 = ((val*(*)(val* self))(var47->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var47); /* native_to_s on <var47:NativeArray[String]>*/
+var83 = ((val*(*)(val* self))(var47->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var47); /* native_to_s on <var47:NativeArray[String]>*/
 }
 varonce = var47;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var_node, var83); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_node, var83); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline model#MSignature#return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
-var86 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
+var86 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
 var84 = var86;
 RET_LABEL85:(void)0;
 }
@@ -1093,7 +1093,7 @@ RET_LABEL85:(void)0;
 var_precursor_ret_type = var84;
 {
 { /* Inline model#MSignature#return_mtype (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
-var89 = var_mysignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
+var89 = var_mysignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var_mysignature:nullable MSignature(MSignature)> */
 var87 = var89;
 RET_LABEL88:(void)0;
 }
@@ -1108,7 +1108,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on <var_ret_type:nullable MType> */
 var_other44 = ((val*)NULL);
 {
-var94 = ((short int(*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret_type, var_other44); /* == on <var_ret_type:nullable MType(MType)>*/
+var94 = ((short int(*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ret_type, var_other44); /* == on <var_ret_type:nullable MType(MType)>*/
 }
 var95 = !var94;
 var92 = var95;
@@ -1155,7 +1155,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
 var_other44 = ((val*)NULL);
 {
-var105 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
+var105 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
 }
 var106 = !var105;
 var103 = var106;
@@ -1170,35 +1170,35 @@ var_node107 = var_nsig;
 var_node107 = self;
 }
 if (unlikely(varonce108==NULL)) {
-var109 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var109 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce110!=NULL)) {
 var111 = varonce110;
 } else {
 var112 = "Redef Error: `";
-var113 = standard___standard__NativeString___to_s_with_length(var112, 14l);
+var113 = core__flat___NativeString___to_s_full(var112, 14l, 14l);
 var111 = var113;
 varonce110 = var111;
 }
-((struct instance_standard__NativeArray*)var109)->values[0]=var111;
+((struct instance_core__NativeArray*)var109)->values[0]=var111;
 if (likely(varonce114!=NULL)) {
 var115 = varonce114;
 } else {
 var116 = "` is a procedure, not a function.";
-var117 = standard___standard__NativeString___to_s_with_length(var116, 33l);
+var117 = core__flat___NativeString___to_s_full(var116, 33l, 33l);
 var115 = var117;
 varonce114 = var115;
 }
-((struct instance_standard__NativeArray*)var109)->values[2]=var115;
+((struct instance_core__NativeArray*)var109)->values[2]=var115;
 } else {
 var109 = varonce108;
 varonce108 = NULL;
 }
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
-var120 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
+var120 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:MMethodDef> */
 if (unlikely(var120 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var118 = var120;
@@ -1206,21 +1206,21 @@ RET_LABEL119:(void)0;
 }
 }
 {
-var121 = ((val*(*)(val* self))(var118->class->vft[COLOR_standard__string__Object__to_s]))(var118); /* to_s on <var118:MProperty(MMethod)>*/
+var121 = ((val*(*)(val* self))(var118->class->vft[COLOR_core__abstract_text__Object__to_s]))(var118); /* to_s on <var118:MProperty(MMethod)>*/
 }
-((struct instance_standard__NativeArray*)var109)->values[1]=var121;
+((struct instance_core__NativeArray*)var109)->values[1]=var121;
 {
-var122 = ((val*(*)(val* self))(var109->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var109); /* native_to_s on <var109:NativeArray[String]>*/
+var122 = ((val*(*)(val* self))(var109->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var109); /* native_to_s on <var109:NativeArray[String]>*/
 }
 varonce108 = var109;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var_node107, var122); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_node107, var122); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
 }
 {
-var123 = nit___nit__MSignature___arity(var_mysignature);
+var123 = nitc___nitc__MSignature___arity(var_mysignature);
 }
 {
 { /* Inline kernel#Int#> (var123,0l) on <var123:Int> */
@@ -1228,9 +1228,9 @@ var123 = nit___nit__MSignature___arity(var_mysignature);
 /* <0l:Int> isa OTHER */
 var126 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var126)) {
-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);
 }
 var127 = var123 > 0l;
@@ -1242,7 +1242,7 @@ RET_LABEL125:(void)0;
 if (var124){
 var_i = 0l;
 {
-var128 = nit___nit__MSignature___arity(var_mysignature);
+var128 = nitc___nitc__MSignature___arity(var_mysignature);
 }
 var_129 = var128;
 for(;;) {
@@ -1252,9 +1252,9 @@ for(;;) {
 /* <var_129:Int> isa OTHER */
 var132 = 1; /* easy <var_129:Int> isa OTHER*/
 if (unlikely(!var132)) {
-var_class_name135 = type_standard__Int.name;
+var_class_name135 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name135);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var136 = var_i < var_129;
@@ -1264,12 +1264,15 @@ RET_LABEL131:(void)0;
 }
 }
 if (var130){
+} else {
+goto BREAK_label;
+}
 {
 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
-var139 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
+var139 = var_mysignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
 if (unlikely(var139 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783);
 fatal_exit(1);
 }
 var137 = var139;
@@ -1277,14 +1280,14 @@ RET_LABEL138:(void)0;
 }
 }
 {
-var140 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var137, var_i);
+var140 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var137, var_i);
 }
 {
 { /* Inline model#MParameter#mtype (var140) on <var140:nullable Object(MParameter)> */
-var143 = var140->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var140:nullable Object(MParameter)> */
+var143 = var140->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on <var140:nullable Object(MParameter)> */
 if (unlikely(var143 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900);
 fatal_exit(1);
 }
 var141 = var143;
@@ -1294,10 +1297,10 @@ RET_LABEL142:(void)0;
 var_myt = var141;
 {
 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
-var146 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
+var146 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
 if (unlikely(var146 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783);
 fatal_exit(1);
 }
 var144 = var146;
@@ -1305,14 +1308,14 @@ RET_LABEL145:(void)0;
 }
 }
 {
-var147 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var144, var_i);
+var147 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var144, var_i);
 }
 {
 { /* Inline model#MParameter#mtype (var147) on <var147:nullable Object(MParameter)> */
-var150 = var147->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var147:nullable Object(MParameter)> */
+var150 = var147->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on <var147:nullable Object(MParameter)> */
 if (unlikely(var150 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900);
 fatal_exit(1);
 }
 var148 = var150;
@@ -1329,7 +1332,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
 var_other44 = ((val*)NULL);
 {
-var154 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
+var154 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
 }
 var155 = !var154;
 var152 = var155;
@@ -1345,10 +1348,10 @@ var_node156 = self;
 }
 {
 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
-var159 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
+var159 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
 if (unlikely(var159 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579);
 fatal_exit(1);
 }
 var157 = var159;
@@ -1356,62 +1359,62 @@ RET_LABEL158:(void)0;
 }
 }
 {
-var160 = nit___nit__ModelBuilder___check_sametype(var_modelbuilder, var_node156, var_mmodule, var157, var_myt, var_prt);
+var160 = nitc___nitc__ModelBuilder___check_sametype(var_modelbuilder, var_node156, var_mmodule, var157, var_myt, var_prt);
 }
 var161 = !var160;
 if (var161){
 if (unlikely(varonce162==NULL)) {
-var163 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String);
+var163 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String);
 if (likely(varonce164!=NULL)) {
 var165 = varonce164;
 } else {
 var166 = "Redef Error: expected `";
-var167 = standard___standard__NativeString___to_s_with_length(var166, 23l);
+var167 = core__flat___NativeString___to_s_full(var166, 23l, 23l);
 var165 = var167;
 varonce164 = var165;
 }
-((struct instance_standard__NativeArray*)var163)->values[0]=var165;
+((struct instance_core__NativeArray*)var163)->values[0]=var165;
 if (likely(varonce168!=NULL)) {
 var169 = varonce168;
 } else {
 var170 = "` type for parameter `";
-var171 = standard___standard__NativeString___to_s_with_length(var170, 22l);
+var171 = core__flat___NativeString___to_s_full(var170, 22l, 22l);
 var169 = var171;
 varonce168 = var169;
 }
-((struct instance_standard__NativeArray*)var163)->values[2]=var169;
+((struct instance_core__NativeArray*)var163)->values[2]=var169;
 if (likely(varonce172!=NULL)) {
 var173 = varonce172;
 } else {
 var174 = "\'; got `";
-var175 = standard___standard__NativeString___to_s_with_length(var174, 8l);
+var175 = core__flat___NativeString___to_s_full(var174, 8l, 8l);
 var173 = var175;
 varonce172 = var173;
 }
-((struct instance_standard__NativeArray*)var163)->values[4]=var173;
+((struct instance_core__NativeArray*)var163)->values[4]=var173;
 if (likely(varonce176!=NULL)) {
 var177 = varonce176;
 } else {
 var178 = "`.";
-var179 = standard___standard__NativeString___to_s_with_length(var178, 2l);
+var179 = core__flat___NativeString___to_s_full(var178, 2l, 2l);
 var177 = var179;
 varonce176 = var177;
 }
-((struct instance_standard__NativeArray*)var163)->values[6]=var177;
+((struct instance_core__NativeArray*)var163)->values[6]=var177;
 } else {
 var163 = varonce162;
 varonce162 = NULL;
 }
 {
-var180 = ((val*(*)(val* self))(var_prt->class->vft[COLOR_standard__string__Object__to_s]))(var_prt); /* to_s on <var_prt:MType>*/
+var180 = ((val*(*)(val* self))(var_prt->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prt); /* to_s on <var_prt:MType>*/
 }
-((struct instance_standard__NativeArray*)var163)->values[1]=var180;
+((struct instance_core__NativeArray*)var163)->values[1]=var180;
 {
 { /* Inline model#MSignature#mparameters (var_mysignature) on <var_mysignature:nullable MSignature(MSignature)> */
-var183 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
+var183 = var_mysignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on <var_mysignature:nullable MSignature(MSignature)> */
 if (unlikely(var183 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783);
 fatal_exit(1);
 }
 var181 = var183;
@@ -1419,41 +1422,38 @@ RET_LABEL182:(void)0;
 }
 }
 {
-var184 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var181, var_i);
+var184 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var181, var_i);
 }
 {
 { /* Inline model#MParameter#name (var184) on <var184:nullable Object(MParameter)> */
-var187 = var184->attrs[COLOR_nit__model__MParameter___name].val; /* _name on <var184:nullable Object(MParameter)> */
+var187 = var184->attrs[COLOR_nitc__model__MParameter___name].val; /* _name on <var184:nullable Object(MParameter)> */
 if (unlikely(var187 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1897);
 fatal_exit(1);
 }
 var185 = var187;
 RET_LABEL186:(void)0;
 }
 }
-((struct instance_standard__NativeArray*)var163)->values[3]=var185;
+((struct instance_core__NativeArray*)var163)->values[3]=var185;
 {
-var188 = ((val*(*)(val* self))(var_myt->class->vft[COLOR_standard__string__Object__to_s]))(var_myt); /* to_s on <var_myt:MType>*/
+var188 = ((val*(*)(val* self))(var_myt->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_myt); /* to_s on <var_myt:MType>*/
 }
-((struct instance_standard__NativeArray*)var163)->values[5]=var188;
+((struct instance_core__NativeArray*)var163)->values[5]=var188;
 {
-var189 = ((val*(*)(val* self))(var163->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var163); /* native_to_s on <var163:NativeArray[String]>*/
+var189 = ((val*(*)(val* self))(var163->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var163); /* native_to_s on <var163:NativeArray[String]>*/
 }
 varonce162 = var163;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var_node156, var189); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_node156, var189); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
 {
-var190 = standard___standard__Int___Discrete__successor(var_i, 1l);
+var190 = core___core__Int___Discrete__successor(var_i, 1l);
 }
 var_i = var190;
-} else {
-goto BREAK_label;
-}
 }
 BREAK_label: (void)0;
 } else {
@@ -1467,7 +1467,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_precursor_ret_type,((val*)NULL)) on <var_precursor_ret_type:nullable MType> */
 var_other44 = ((val*)NULL);
 {
-var194 = ((short int(*)(val* self, val* p0))(var_precursor_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_precursor_ret_type, var_other44); /* == on <var_precursor_ret_type:nullable MType(MType)>*/
+var194 = ((short int(*)(val* self, val* p0))(var_precursor_ret_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_precursor_ret_type, var_other44); /* == on <var_precursor_ret_type:nullable MType(MType)>*/
 }
 var195 = !var194;
 var192 = var195;
@@ -1486,7 +1486,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on <var_nsig:nullable AType> */
 var_other44 = ((val*)NULL);
 {
-var199 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
+var199 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nsig, var_other44); /* == on <var_nsig:nullable AType(AType)>*/
 }
 var200 = !var199;
 var197 = var200;
@@ -1527,10 +1527,10 @@ var_ret_type = var_precursor_ret_type;
 } else {
 {
 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
-var210 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
+var210 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
 if (unlikely(var210 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579);
 fatal_exit(1);
 }
 var208 = var210;
@@ -1538,57 +1538,57 @@ RET_LABEL209:(void)0;
 }
 }
 {
-var211 = nit___nit__ModelBuilder___check_subtype(var_modelbuilder, var_node201, var_mmodule, var208, var_ret_type, var_precursor_ret_type);
+var211 = nitc___nitc__ModelBuilder___check_subtype(var_modelbuilder, var_node201, var_mmodule, var208, var_ret_type, var_precursor_ret_type);
 }
 var212 = !var211;
 if (var212){
 if (unlikely(varonce213==NULL)) {
-var214 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
+var214 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
 if (likely(varonce215!=NULL)) {
 var216 = varonce215;
 } else {
 var217 = "Redef Error: expected `";
-var218 = standard___standard__NativeString___to_s_with_length(var217, 23l);
+var218 = core__flat___NativeString___to_s_full(var217, 23l, 23l);
 var216 = var218;
 varonce215 = var216;
 }
-((struct instance_standard__NativeArray*)var214)->values[0]=var216;
+((struct instance_core__NativeArray*)var214)->values[0]=var216;
 if (likely(varonce219!=NULL)) {
 var220 = varonce219;
 } else {
 var221 = "` return type; got `";
-var222 = standard___standard__NativeString___to_s_with_length(var221, 20l);
+var222 = core__flat___NativeString___to_s_full(var221, 20l, 20l);
 var220 = var222;
 varonce219 = var220;
 }
-((struct instance_standard__NativeArray*)var214)->values[2]=var220;
+((struct instance_core__NativeArray*)var214)->values[2]=var220;
 if (likely(varonce223!=NULL)) {
 var224 = varonce223;
 } else {
 var225 = "`.";
-var226 = standard___standard__NativeString___to_s_with_length(var225, 2l);
+var226 = core__flat___NativeString___to_s_full(var225, 2l, 2l);
 var224 = var226;
 varonce223 = var224;
 }
-((struct instance_standard__NativeArray*)var214)->values[4]=var224;
+((struct instance_core__NativeArray*)var214)->values[4]=var224;
 } else {
 var214 = varonce213;
 varonce213 = NULL;
 }
 {
-var227 = ((val*(*)(val* self))(var_precursor_ret_type->class->vft[COLOR_standard__string__Object__to_s]))(var_precursor_ret_type); /* to_s on <var_precursor_ret_type:nullable MType(MType)>*/
+var227 = ((val*(*)(val* self))(var_precursor_ret_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_precursor_ret_type); /* to_s on <var_precursor_ret_type:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var214)->values[1]=var227;
+((struct instance_core__NativeArray*)var214)->values[1]=var227;
 {
-var228 = ((val*(*)(val* self))(var_ret_type->class->vft[COLOR_standard__string__Object__to_s]))(var_ret_type); /* to_s on <var_ret_type:nullable MType(MType)>*/
+var228 = ((val*(*)(val* self))(var_ret_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_ret_type); /* to_s on <var_ret_type:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var214)->values[3]=var228;
+((struct instance_core__NativeArray*)var214)->values[3]=var228;
 {
-var229 = ((val*(*)(val* self))(var214->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var214); /* native_to_s on <var214:NativeArray[String]>*/
+var229 = ((val*(*)(val* self))(var214->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var214); /* native_to_s on <var214:NativeArray[String]>*/
 }
 varonce213 = var214;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var_node201, var229); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_node201, var229); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
@@ -1600,595 +1600,648 @@ nit___nit__ModelBuilder___error(var_modelbuilder, var_node201, var229); /* Direc
 RET_LABEL:;
 }
 /* method modelize_property#AAttrPropdef#check_repeated_types for (self: AAttrPropdef, ModelBuilder) */
-void nit__modelize_property___AAttrPropdef___APropdef__check_repeated_types(val* self, val* p0) {
+void nitc__modelize_property___AAttrPropdef___APropdef__check_repeated_types(val* self, val* p0) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
-short int var /* : Bool */;
-val* var1 /* : nullable MMethodDef */;
-val* var3 /* : nullable MMethodDef */;
+val* var /* : nullable MMethodDef */;
+val* var2 /* : nullable MMethodDef */;
+val* var_mreadpropdef /* var mreadpropdef: nullable MMethodDef */;
+short int var3 /* : Bool */;
 short int var4 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var5 /* : nullable AType */;
-val* var7 /* : nullable AType */;
+val* var_other /* var other: nullable Object */;
+short int var6 /* : Bool */;
 short int var8 /* : Bool */;
 short int var9 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-val* var14 /* : nullable MMethodDef */;
-val* var16 /* : nullable MMethodDef */;
-val* var17 /* : MProperty */;
-val* var19 /* : MProperty */;
-val* var20 /* : MPropDef */;
-val* var22 /* : MPropDef */;
+short int var10 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var11 /* : nullable AType */;
+val* var13 /* : nullable AType */;
+short int var14 /* : Bool */;
+short int var15 /* : Bool */;
+short int var17 /* : Bool */;
+short int var19 /* : Bool */;
+val* var20 /* : MProperty */;
+val* var22 /* : MProperty */;
+val* var23 /* : MPropDef */;
+val* var25 /* : MPropDef */;
 val* var_intro /* var intro: MMethodDef */;
-val* var23 /* : HashMap[MPropDef, APropdef] */;
-val* var25 /* : HashMap[MPropDef, APropdef] */;
-val* var26 /* : nullable Object */;
+val* var26 /* : HashMap[MPropDef, APropdef] */;
+val* var28 /* : HashMap[MPropDef, APropdef] */;
+val* var29 /* : nullable Object */;
 val* var_n_intro /* var n_intro: nullable APropdef */;
-short int var27 /* : Bool */;
-short int var28 /* : Bool */;
 short int var30 /* : Bool */;
-short int var32 /* : Bool */;
-val* var_ntype /* var ntype: nullable Object */;
+short int var31 /* : Bool */;
 short int var33 /* : Bool */;
+short int var35 /* : Bool */;
+val* var_ntype /* var ntype: nullable Object */;
+short int var36 /* : Bool */;
 int cltype;
 int idtype;
-val* var34 /* : nullable ASignature */;
-val* var36 /* : nullable ASignature */;
-val* var37 /* : nullable MType */;
-val* var39 /* : nullable MType */;
-short int var40 /* : Bool */;
-short int var41 /* : Bool */;
-int cltype42;
-int idtype43;
-short int var_44 /* var : Bool */;
-val* var45 /* : nullable AType */;
-val* var47 /* : nullable AType */;
-short int var48 /* : Bool */;
-short int var49 /* : Bool */;
-val* var_other51 /* var other: nullable Object */;
+val* var37 /* : nullable ASignature */;
+val* var39 /* : nullable ASignature */;
+val* var40 /* : nullable MType */;
+val* var42 /* : nullable MType */;
+short int var43 /* : Bool */;
+short int var44 /* : Bool */;
+int cltype45;
+int idtype46;
+short int var_47 /* var : Bool */;
+val* var48 /* : nullable AType */;
+val* var50 /* : nullable AType */;
+short int var51 /* : Bool */;
 short int var52 /* : Bool */;
-short int var53 /* : Bool */;
-val* var54 /* : nullable AType */;
-val* var56 /* : nullable AType */;
-val* var57 /* : nullable MType */;
-val* var59 /* : nullable MType */;
-short int var60 /* : Bool */;
-short int var61 /* : Bool */;
-short int var62 /* : Bool */;
+val* var_other54 /* var other: nullable Object */;
+short int var55 /* : Bool */;
+short int var56 /* : Bool */;
+val* var57 /* : nullable AType */;
+val* var59 /* : nullable AType */;
+val* var60 /* : nullable MType */;
+val* var62 /* : nullable MType */;
+short int var63 /* : Bool */;
 short int var64 /* : Bool */;
+short int var65 /* : Bool */;
 short int var66 /* : Bool */;
-short int var_67 /* var : Bool */;
-val* var68 /* : nullable AType */;
-val* var70 /* : nullable AType */;
-val* var71 /* : nullable MType */;
-val* var73 /* : nullable MType */;
-short int var74 /* : Bool */;
-short int var76 /* : Bool */;
-short int var77 /* : Bool */;
-val* var78 /* : nullable AType */;
-val* var80 /* : nullable AType */;
+short int var68 /* : Bool */;
+short int var70 /* : Bool */;
+short int var_71 /* var : Bool */;
+val* var72 /* : nullable AType */;
+val* var74 /* : nullable AType */;
+val* var75 /* : nullable MType */;
+val* var77 /* : nullable MType */;
+short int var78 /* : Bool */;
+short int var80 /* : Bool */;
+short int var81 /* : Bool */;
+short int var_82 /* var : Bool */;
+val* var83 /* : nullable MPropDef */;
+val* var85 /* : nullable MPropDef */;
+short int var86 /* : Bool */;
+short int var87 /* : Bool */;
+short int var89 /* : Bool */;
+short int var91 /* : Bool */;
+val* var92 /* : nullable AType */;
+val* var94 /* : nullable AType */;
 static val* varonce;
-val* var81 /* : String */;
-char* var82 /* : NativeString */;
-val* var83 /* : FlatString */;
-val* var85 /* : NativeArray[String] */;
-static val* varonce84;
-static val* varonce86;
-val* var87 /* : String */;
-char* var88 /* : NativeString */;
-val* var89 /* : FlatString */;
-static val* varonce90;
-val* var91 /* : String */;
-char* var92 /* : NativeString */;
-val* var93 /* : FlatString */;
-val* var94 /* : nullable MPropDef */;
-val* var96 /* : nullable MPropDef */;
+val* var95 /* : String */;
+char* var96 /* : NativeString */;
 val* var97 /* : String */;
-val* var98 /* : String */;
+val* var99 /* : NativeArray[String] */;
+static val* varonce98;
+static val* varonce100;
+val* var101 /* : String */;
+char* var102 /* : NativeString */;
+val* var103 /* : String */;
+static val* varonce104;
+val* var105 /* : String */;
+char* var106 /* : NativeString */;
+val* var107 /* : String */;
+val* var108 /* : nullable MPropDef */;
+val* var110 /* : nullable MPropDef */;
+val* var111 /* : String */;
+val* var112 /* : String */;
 var_modelbuilder = p0;
 {
 { /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
-var3 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
-var1 = var3;
-RET_LABEL2:(void)0;
+var2 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
+var = var2;
+RET_LABEL1:(void)0;
 }
 }
-if (var1 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1516);
-fatal_exit(1);
+var_mreadpropdef = var;
+if (var_mreadpropdef == NULL) {
+var3 = 1; /* is null */
+} else {
+var3 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var_mreadpropdef,((val*)NULL)) on <var_mreadpropdef:nullable MMethodDef> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel#Object#is_same_instance (var_mreadpropdef,var_other) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var8 = var_mreadpropdef == var_other;
+var6 = var8;
+goto RET_LABEL7;
+RET_LABEL7:(void)0;
+}
+}
+var4 = var6;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+var3 = var4;
+}
+if (var3){
+goto RET_LABEL;
 } else {
-var4 = nit___nit__MPropDef___is_intro(var1);
 }
-var_ = var4;
-if (var4){
-var = var_;
+{
+var10 = nitc___nitc__MPropDef___is_intro(var_mreadpropdef);
+}
+var_ = var10;
+if (var10){
+var9 = var_;
 } else {
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
-var7 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
-var5 = var7;
-RET_LABEL6:(void)0;
+var13 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var11 = var13;
+RET_LABEL12:(void)0;
 }
 }
-if (var5 == NULL) {
-var8 = 1; /* is null */
+if (var11 == NULL) {
+var14 = 1; /* is null */
 } else {
-var8 = 0; /* arg is null but recv is not */
+var14 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var5,((val*)NULL)) on <var5:nullable AType> */
+{ /* Inline kernel#Object#== (var11,((val*)NULL)) on <var11:nullable AType> */
 var_other = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var5,var_other) on <var5:nullable AType(AType)> */
-var13 = var5 == var_other;
-var11 = var13;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
+{ /* Inline kernel#Object#is_same_instance (var11,var_other) on <var11:nullable AType(AType)> */
+var19 = var11 == var_other;
+var17 = var19;
+goto RET_LABEL18;
+RET_LABEL18:(void)0;
 }
 }
-var9 = var11;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
+var15 = var17;
+goto RET_LABEL16;
+RET_LABEL16:(void)0;
 }
-var8 = var9;
+var14 = var15;
 }
-var = var8;
+var9 = var14;
 }
-if (var){
+if (var9){
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on <self:AAttrPropdef> */
-var16 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
-var14 = var16;
-RET_LABEL15:(void)0;
-}
-}
-if (var14 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1518);
-fatal_exit(1);
-} else {
-{ /* Inline model#MPropDef#mproperty (var14) on <var14:nullable MMethodDef> */
-if (unlikely(var14 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
-fatal_exit(1);
-}
-var19 = var14->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var14:nullable MMethodDef> */
-if (unlikely(var19 == NULL)) {
+{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var22 = var_mreadpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+if (unlikely(var22 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
-var17 = var19;
-RET_LABEL18:(void)0;
+var20 = var22;
+RET_LABEL21:(void)0;
 }
 }
 {
-{ /* Inline model#MProperty#intro (var17) on <var17:MProperty(MMethod)> */
-var22 = var17->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var17:MProperty(MMethod)> */
-if (unlikely(var22 == NULL)) {
+{ /* Inline model#MProperty#intro (var20) on <var20:MProperty(MMethod)> */
+var25 = var20->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var20:MProperty(MMethod)> */
+if (unlikely(var25 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986);
 fatal_exit(1);
 }
-var20 = var22;
-RET_LABEL21:(void)0;
+var23 = var25;
+RET_LABEL24:(void)0;
 }
 }
-var_intro = var20;
+var_intro = var23;
 {
 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var25 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var25 == NULL)) {
+var28 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var28 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 40);
 fatal_exit(1);
 }
-var23 = var25;
-RET_LABEL24:(void)0;
+var26 = var28;
+RET_LABEL27:(void)0;
 }
 }
 {
-var26 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var23, var_intro);
+var29 = core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var26, var_intro);
 }
-var_n_intro = var26;
+var_n_intro = var29;
 if (var_n_intro == NULL) {
-var27 = 1; /* is null */
+var30 = 1; /* is null */
 } else {
-var27 = 0; /* arg is null but recv is not */
+var30 = 0; /* arg is null but recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#== (var_n_intro,((val*)NULL)) on <var_n_intro:nullable APropdef> */
 var_other = ((val*)NULL);
 {
 { /* Inline kernel#Object#is_same_instance (var_n_intro,var_other) on <var_n_intro:nullable APropdef(APropdef)> */
-var32 = var_n_intro == var_other;
-var30 = var32;
-goto RET_LABEL31;
-RET_LABEL31:(void)0;
+var35 = var_n_intro == var_other;
+var33 = var35;
+goto RET_LABEL34;
+RET_LABEL34:(void)0;
 }
 }
-var28 = var30;
-goto RET_LABEL29;
-RET_LABEL29:(void)0;
+var31 = var33;
+goto RET_LABEL32;
+RET_LABEL32:(void)0;
 }
-var27 = var28;
+var30 = var31;
 }
-if (var27){
+if (var30){
 goto RET_LABEL;
 } else {
 }
 var_ntype = ((val*)NULL);
 /* <var_n_intro:nullable APropdef(APropdef)> isa AMethPropdef */
-cltype = type_nit__AMethPropdef.color;
-idtype = type_nit__AMethPropdef.id;
+cltype = type_nitc__AMethPropdef.color;
+idtype = type_nitc__AMethPropdef.id;
 if(cltype >= var_n_intro->type->table_size) {
-var33 = 0;
+var36 = 0;
 } else {
-var33 = var_n_intro->type->type_table[cltype] == idtype;
+var36 = var_n_intro->type->type_table[cltype] == idtype;
 }
-if (var33){
+if (var36){
 {
 { /* Inline parser_nodes#AMethPropdef#n_signature (var_n_intro) on <var_n_intro:nullable APropdef(AMethPropdef)> */
-var36 = var_n_intro->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <var_n_intro:nullable APropdef(AMethPropdef)> */
-var34 = var36;
-RET_LABEL35:(void)0;
+var39 = var_n_intro->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <var_n_intro:nullable APropdef(AMethPropdef)> */
+var37 = var39;
+RET_LABEL38:(void)0;
 }
 }
-if (var34 == NULL) {
+if (var37 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1524);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1558);
 fatal_exit(1);
 } else {
-{ /* Inline modelize_property#ASignature#ret_type (var34) on <var34:nullable ASignature> */
-if (unlikely(var34 == NULL)) {
+{ /* Inline modelize_property#ASignature#ret_type (var37) on <var37:nullable ASignature> */
+if (unlikely(var37 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 669);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 670);
 fatal_exit(1);
 }
-var39 = var34->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on <var34:nullable ASignature> */
-var37 = var39;
-RET_LABEL38:(void)0;
+var42 = var37->attrs[COLOR_nitc__modelize_property__ASignature___ret_type].val; /* _ret_type on <var37:nullable ASignature> */
+var40 = var42;
+RET_LABEL41:(void)0;
 }
 }
-var_ntype = var37;
+var_ntype = var40;
 } else {
 /* <var_n_intro:nullable APropdef(APropdef)> isa AAttrPropdef */
-cltype42 = type_nit__AAttrPropdef.color;
-idtype43 = type_nit__AAttrPropdef.id;
-if(cltype42 >= var_n_intro->type->table_size) {
-var41 = 0;
+cltype45 = type_nitc__AAttrPropdef.color;
+idtype46 = type_nitc__AAttrPropdef.id;
+if(cltype45 >= var_n_intro->type->table_size) {
+var44 = 0;
 } else {
-var41 = var_n_intro->type->type_table[cltype42] == idtype43;
+var44 = var_n_intro->type->type_table[cltype45] == idtype46;
 }
-var_44 = var41;
-if (var41){
+var_47 = var44;
+if (var44){
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (var_n_intro) on <var_n_intro:nullable APropdef(AAttrPropdef)> */
-var47 = var_n_intro->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
-var45 = var47;
-RET_LABEL46:(void)0;
+var50 = var_n_intro->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
+var48 = var50;
+RET_LABEL49:(void)0;
 }
 }
-if (var45 == NULL) {
-var48 = 0; /* is null */
+if (var48 == NULL) {
+var51 = 0; /* is null */
 } else {
-var48 = 1; /* arg is null and recv is not */
+var51 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var45,((val*)NULL)) on <var45:nullable AType> */
-var_other51 = ((val*)NULL);
+{ /* Inline kernel#Object#!= (var48,((val*)NULL)) on <var48:nullable AType> */
+var_other54 = ((val*)NULL);
 {
-var52 = ((short int(*)(val* self, val* p0))(var45->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var45, var_other51); /* == on <var45:nullable AType(AType)>*/
+var55 = ((short int(*)(val* self, val* p0))(var48->class->vft[COLOR_core__kernel__Object___61d_61d]))(var48, var_other54); /* == on <var48:nullable AType(AType)>*/
 }
-var53 = !var52;
-var49 = var53;
-goto RET_LABEL50;
-RET_LABEL50:(void)0;
+var56 = !var55;
+var52 = var56;
+goto RET_LABEL53;
+RET_LABEL53:(void)0;
 }
-var48 = var49;
+var51 = var52;
 }
-var40 = var48;
+var43 = var51;
 } else {
-var40 = var_44;
+var43 = var_47;
 }
-if (var40){
+if (var43){
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (var_n_intro) on <var_n_intro:nullable APropdef(AAttrPropdef)> */
-var56 = var_n_intro->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
-var54 = var56;
-RET_LABEL55:(void)0;
+var59 = var_n_intro->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <var_n_intro:nullable APropdef(AAttrPropdef)> */
+var57 = var59;
+RET_LABEL58:(void)0;
 }
 }
-if (var54 == NULL) {
+if (var57 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1526);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1560);
 fatal_exit(1);
 } else {
-{ /* Inline modelbuilder_base#AType#mtype (var54) on <var54:nullable AType> */
-if (unlikely(var54 == NULL)) {
+{ /* Inline modelbuilder_base#AType#mtype (var57) on <var57:nullable AType> */
+if (unlikely(var57 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 358);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 379);
 fatal_exit(1);
 }
-var59 = var54->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on <var54:nullable AType> */
-var57 = var59;
-RET_LABEL58:(void)0;
+var62 = var57->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on <var57:nullable AType> */
+var60 = var62;
+RET_LABEL61:(void)0;
 }
 }
-var_ntype = var57;
+var_ntype = var60;
 } else {
 }
 }
 if (var_ntype == NULL) {
-var61 = 1; /* is null */
+var65 = 1; /* is null */
 } else {
-var61 = 0; /* arg is null but recv is not */
+var65 = 0; /* arg is null but recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#== (var_ntype,((val*)NULL)) on <var_ntype:nullable Object(nullable MType)> */
 var_other = ((val*)NULL);
 {
 { /* Inline kernel#Object#is_same_instance (var_ntype,var_other) on <var_ntype:nullable MType(MType)> */
-var66 = var_ntype == var_other;
-var64 = var66;
-goto RET_LABEL65;
-RET_LABEL65:(void)0;
+var70 = var_ntype == var_other;
+var68 = var70;
+goto RET_LABEL69;
+RET_LABEL69:(void)0;
 }
 }
-var62 = var64;
-goto RET_LABEL63;
-RET_LABEL63:(void)0;
+var66 = var68;
+goto RET_LABEL67;
+RET_LABEL67:(void)0;
 }
-var61 = var62;
+var65 = var66;
 }
-var_67 = var61;
-if (var61){
-var60 = var_67;
+var_71 = var65;
+if (var65){
+var64 = var_71;
 } else {
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
-var70 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
-var68 = var70;
-RET_LABEL69:(void)0;
+var74 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var72 = var74;
+RET_LABEL73:(void)0;
 }
 }
-if (var68 == NULL) {
+if (var72 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1529);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1563);
 fatal_exit(1);
 } else {
-{ /* Inline modelbuilder_base#AType#mtype (var68) on <var68:nullable AType> */
-if (unlikely(var68 == NULL)) {
+{ /* Inline modelbuilder_base#AType#mtype (var72) on <var72:nullable AType> */
+if (unlikely(var72 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 358);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 379);
 fatal_exit(1);
 }
-var73 = var68->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on <var68:nullable AType> */
-var71 = var73;
-RET_LABEL72:(void)0;
+var77 = var72->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on <var72:nullable AType> */
+var75 = var77;
+RET_LABEL76:(void)0;
+}
+}
+{
+{ /* Inline kernel#Object#!= (var_ntype,var75) on <var_ntype:nullable Object(MType)> */
+var_other54 = var75;
+{
+var80 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ntype, var_other54); /* == on <var_ntype:nullable Object(MType)>*/
+}
+var81 = !var80;
+var78 = var81;
+goto RET_LABEL79;
+RET_LABEL79:(void)0;
 }
 }
+var64 = var78;
+}
+var_82 = var64;
+if (var64){
+var63 = var_82;
+} else {
 {
-{ /* Inline kernel#Object#!= (var_ntype,var71) on <var_ntype:nullable Object(MType)> */
-var_other51 = var71;
+{ /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
+var85 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var83 = var85;
+RET_LABEL84:(void)0;
+}
+}
+if (var83 == NULL) {
+var86 = 1; /* is null */
+} else {
+var86 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var83,((val*)NULL)) on <var83:nullable MPropDef(nullable MAttributeDef)> */
+var_other = ((val*)NULL);
 {
-var76 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other51); /* == on <var_ntype:nullable Object(MType)>*/
+{ /* Inline kernel#Object#is_same_instance (var83,var_other) on <var83:nullable MAttributeDef(MAttributeDef)> */
+var91 = var83 == var_other;
+var89 = var91;
+goto RET_LABEL90;
+RET_LABEL90:(void)0;
 }
-var77 = !var76;
-var74 = var77;
-goto RET_LABEL75;
-RET_LABEL75:(void)0;
 }
+var87 = var89;
+goto RET_LABEL88;
+RET_LABEL88:(void)0;
 }
-var60 = var74;
+var86 = var87;
 }
-if (var60){
+var63 = var86;
+}
+if (var63){
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline parser_nodes#AAttrPropdef#n_type (self) on <self:AAttrPropdef> */
-var80 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
-var78 = var80;
-RET_LABEL79:(void)0;
+var94 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var92 = var94;
+RET_LABEL93:(void)0;
 }
 }
 if (likely(varonce!=NULL)) {
-var81 = varonce;
+var95 = varonce;
 } else {
-var82 = "useless-signature";
-var83 = standard___standard__NativeString___to_s_with_length(var82, 17l);
-var81 = var83;
-varonce = var81;
+var96 = "useless-signature";
+var97 = core__flat___NativeString___to_s_full(var96, 17l, 17l);
+var95 = var97;
+varonce = var95;
 }
-if (unlikely(varonce84==NULL)) {
-var85 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce86!=NULL)) {
-var87 = varonce86;
+if (unlikely(varonce98==NULL)) {
+var99 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce100!=NULL)) {
+var101 = varonce100;
 } else {
-var88 = "Warning: useless type repetition on redefined attribute `";
-var89 = standard___standard__NativeString___to_s_with_length(var88, 57l);
-var87 = var89;
-varonce86 = var87;
+var102 = "Warning: useless type repetition on redefined attribute `";
+var103 = core__flat___NativeString___to_s_full(var102, 57l, 57l);
+var101 = var103;
+varonce100 = var101;
 }
-((struct instance_standard__NativeArray*)var85)->values[0]=var87;
-if (likely(varonce90!=NULL)) {
-var91 = varonce90;
+((struct instance_core__NativeArray*)var99)->values[0]=var101;
+if (likely(varonce104!=NULL)) {
+var105 = varonce104;
 } else {
-var92 = "`";
-var93 = standard___standard__NativeString___to_s_with_length(var92, 1l);
-var91 = var93;
-varonce90 = var91;
+var106 = "`";
+var107 = core__flat___NativeString___to_s_full(var106, 1l, 1l);
+var105 = var107;
+varonce104 = var105;
 }
-((struct instance_standard__NativeArray*)var85)->values[2]=var91;
+((struct instance_core__NativeArray*)var99)->values[2]=var105;
 } else {
-var85 = varonce84;
-varonce84 = NULL;
+var99 = varonce98;
+varonce98 = NULL;
 }
 {
 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AAttrPropdef> */
-var96 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
-var94 = var96;
-RET_LABEL95:(void)0;
+var110 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var108 = var110;
+RET_LABEL109:(void)0;
 }
 }
-if (var94 == NULL) {
+if (var108 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1564);
 fatal_exit(1);
 } else {
-var97 = nit___nit__MPropDef___nit__model_base__MEntity__name(var94);
+var111 = nitc___nitc__MPropDef___nitc__model_base__MEntity__name(var108);
 }
-((struct instance_standard__NativeArray*)var85)->values[1]=var97;
+((struct instance_core__NativeArray*)var99)->values[1]=var111;
 {
-var98 = ((val*(*)(val* self))(var85->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var85); /* native_to_s on <var85:NativeArray[String]>*/
+var112 = ((val*(*)(val* self))(var99->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var99); /* native_to_s on <var99:NativeArray[String]>*/
 }
-varonce84 = var85;
+varonce98 = var99;
 {
-nit___nit__ModelBuilder___advice(var_modelbuilder, var78, var81, var98); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___advice(var_modelbuilder, var92, var95, var112); /* Direct call modelbuilder_base#ModelBuilder#advice on <var_modelbuilder:ModelBuilder>*/
 }
 RET_LABEL:;
 }
 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, MClassDef) */
-void nit__modelize_property___ATypePropdef___APropdef__build_property(val* self, val* p0, val* p1) {
+void nitc__modelize_property___ATypePropdef___APropdef__build_property(val* self, val* p0, val* p1) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var_mclassdef /* var mclassdef: MClassDef */;
-val* var /* : TClassid */;
-val* var2 /* : TClassid */;
-val* var3 /* : String */;
+val* var /* : AQclassid */;
+val* var2 /* : AQclassid */;
+val* var3 /* : TClassid */;
+val* var5 /* : TClassid */;
+val* var6 /* : String */;
 val* var_name /* var name: String */;
-val* var4 /* : TClassid */;
-val* var6 /* : TClassid */;
-val* var7 /* : nullable MProperty */;
+val* var7 /* : AQclassid */;
+val* var9 /* : AQclassid */;
+val* var10 /* : nullable MProperty */;
 val* var_mprop /* var mprop: nullable MProperty */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-val* var_other /* var other: nullable Object */;
 short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-val* var14 /* : nullable AVisibility */;
-val* var16 /* : nullable AVisibility */;
-val* var17 /* : MVisibility */;
+short int var12 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var14 /* : Bool */;
+short int var16 /* : Bool */;
+val* var17 /* : nullable AVisibility */;
+val* var19 /* : nullable AVisibility */;
+val* var20 /* : MVisibility */;
 val* var_mvisibility /* var mvisibility: MVisibility */;
-val* var18 /* : MVirtualTypeProp */;
-val* var19 /* : SequenceRead[Char] */;
+val* var21 /* : MVirtualTypeProp */;
+val* var22 /* : SequenceRead[Char] */;
 val* var_ /* var : SequenceRead[Char] */;
-val* var20 /* : Iterator[nullable Object] */;
-val* var_21 /* var : IndexedIterator[Char] */;
-short int var22 /* : Bool */;
-val* var23 /* : nullable Object */;
-uint32_t var24 /* : Char */;
-uint32_t var_c /* var c: Char */;
+val* var23 /* : Iterator[nullable Object] */;
+val* var_24 /* var : IndexedIterator[Char] */;
 short int var25 /* : Bool */;
-short int var26 /* : Bool */;
+val* var26 /* : nullable Object */;
+uint32_t var27 /* : Char */;
+uint32_t var_c /* var c: Char */;
 short int var28 /* : Bool */;
+short int var29 /* : Bool */;
+short int var31 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var29 /* : Bool */;
-short int var_30 /* var : Bool */;
-short int var31 /* : Bool */;
-short int var33 /* : Bool */;
-int cltype34;
-int idtype35;
-const char* var_class_name36;
-short int var37 /* : Bool */;
-val* var38 /* : TClassid */;
-val* var40 /* : TClassid */;
+short int var32 /* : Bool */;
+short int var_33 /* var : Bool */;
+short int var34 /* : Bool */;
+short int var36 /* : Bool */;
+int cltype37;
+int idtype38;
+const char* var_class_name39;
+short int var40 /* : Bool */;
+val* var41 /* : AQclassid */;
+val* var43 /* : AQclassid */;
 static val* varonce;
-val* var41 /* : String */;
-char* var42 /* : NativeString */;
-val* var43 /* : FlatString */;
-val* var45 /* : NativeArray[String] */;
-static val* varonce44;
-static val* varonce46;
-val* var47 /* : String */;
-char* var48 /* : NativeString */;
-val* var49 /* : FlatString */;
-static val* varonce50;
-val* var51 /* : String */;
-char* var52 /* : NativeString */;
-val* var53 /* : FlatString */;
+val* var44 /* : String */;
+char* var45 /* : NativeString */;
+val* var46 /* : String */;
+val* var48 /* : NativeArray[String] */;
+static val* varonce47;
+static val* varonce49;
+val* var50 /* : String */;
+char* var51 /* : NativeString */;
+val* var52 /* : String */;
+static val* varonce53;
 val* var54 /* : String */;
-val* var55 /* : nullable TKwredef */;
-val* var57 /* : nullable TKwredef */;
+char* var55 /* : NativeString */;
+val* var56 /* : String */;
+val* var57 /* : String */;
 short int var58 /* : Bool */;
-short int var59 /* : Bool */;
-val* var60 /* : nullable TKwredef */;
-val* var62 /* : nullable TKwredef */;
-short int var63 /* : Bool */;
-short int var64 /* : Bool */;
-short int var65 /* : Bool */;
-int cltype66;
-int idtype67;
-val* var68 /* : nullable AVisibility */;
-val* var70 /* : nullable AVisibility */;
-val* var71 /* : Map[MProperty, APropdef] */;
-val* var73 /* : Map[MProperty, APropdef] */;
-val* var74 /* : MVirtualTypeDef */;
-val* var75 /* : Location */;
-val* var77 /* : Location */;
+int cltype59;
+int idtype60;
+val* var61 /* : nullable AVisibility */;
+val* var63 /* : nullable AVisibility */;
+val* var64 /* : MVirtualTypeDef */;
+val* var65 /* : Location */;
+val* var67 /* : Location */;
 val* var_mpropdef /* var mpropdef: MVirtualTypeDef */;
-short int var78 /* : Bool */;
-int cltype79;
-int idtype80;
+short int var68 /* : Bool */;
+int cltype69;
+int idtype70;
 const struct type* type_struct;
-const char* var_class_name81;
-short int var83 /* : Bool */;
-int cltype84;
-int idtype85;
-const struct type* type_struct86;
-const char* var_class_name87;
-val* var88 /* : HashMap[MPropDef, APropdef] */;
-val* var90 /* : HashMap[MPropDef, APropdef] */;
-short int var91 /* : Bool */;
-val* var92 /* : ToolContext */;
-val* var94 /* : ToolContext */;
-val* var96 /* : NativeArray[String] */;
-static val* varonce95;
-static val* varonce97;
-val* var98 /* : String */;
-char* var99 /* : NativeString */;
-val* var100 /* : FlatString */;
+const char* var_class_name71;
+short int var73 /* : Bool */;
+int cltype74;
+int idtype75;
+const struct type* type_struct76;
+const char* var_class_name77;
+short int var78 /* : Bool */;
+val* var79 /* : ToolContext */;
+val* var81 /* : ToolContext */;
+val* var83 /* : NativeArray[String] */;
+static val* varonce82;
+static val* varonce84;
+val* var85 /* : String */;
+char* var86 /* : NativeString */;
+val* var87 /* : String */;
+val* var88 /* : String */;
+val* var89 /* : String */;
+val* var90 /* : String */;
+val* var91 /* : ToolContext */;
+val* var93 /* : ToolContext */;
+val* var95 /* : NativeArray[String] */;
+static val* varonce94;
+static val* varonce96;
+val* var97 /* : String */;
+char* var98 /* : NativeString */;
+val* var99 /* : String */;
+val* var100 /* : String */;
 val* var101 /* : String */;
 val* var102 /* : String */;
-val* var103 /* : String */;
-val* var104 /* : ToolContext */;
-val* var106 /* : ToolContext */;
-val* var108 /* : NativeArray[String] */;
-static val* varonce107;
-static val* varonce109;
-val* var110 /* : String */;
-char* var111 /* : NativeString */;
-val* var112 /* : FlatString */;
-val* var113 /* : String */;
-val* var114 /* : String */;
-val* var115 /* : String */;
-static val* varonce116;
-val* var117 /* : String */;
-char* var118 /* : NativeString */;
-val* var119 /* : FlatString */;
-val* var120 /* : nullable AAnnotation */;
+val* var103 /* : nullable TKwredef */;
+val* var105 /* : nullable TKwredef */;
+short int var106 /* : Bool */;
+short int var107 /* : Bool */;
+short int var108 /* : Bool */;
+short int var109 /* : Bool */;
+val* var111 /* : Map[MProperty, APropdef] */;
+val* var113 /* : Map[MProperty, APropdef] */;
+val* var114 /* : HashMap[MPropDef, APropdef] */;
+val* var116 /* : HashMap[MPropDef, APropdef] */;
+static val* varonce117;
+val* var118 /* : String */;
+char* var119 /* : NativeString */;
+val* var120 /* : String */;
+val* var121 /* : nullable AAnnotation */;
 val* var_atfixed /* var atfixed: nullable AAnnotation */;
-short int var121 /* : Bool */;
 short int var122 /* : Bool */;
-val* var_other124 /* var other: nullable Object */;
-short int var125 /* : Bool */;
+short int var123 /* : Bool */;
+val* var_other125 /* var other: nullable Object */;
 short int var126 /* : Bool */;
+short int var127 /* : Bool */;
 var_modelbuilder = p0;
 var_mclassdef = p1;
 {
-{ /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
-var2 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on <self:ATypePropdef> */
+{ /* Inline parser_nodes#ATypePropdef#n_qid (self) on <self:ATypePropdef> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_qid].val; /* _n_qid on <self:ATypePropdef> */
 if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1527);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1493);
 fatal_exit(1);
 }
 var = var2;
@@ -2196,474 +2249,480 @@ RET_LABEL1:(void)0;
 }
 }
 {
-var3 = nit__lexer_work___Token___text(var);
+{ /* Inline parser_nodes#AQclassid#n_id (var) on <var:AQclassid> */
+var5 = var->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on <var:AQclassid> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1668);
+fatal_exit(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+{
+var6 = nitc__lexer_work___Token___text(var3);
 }
-var_name = var3;
+var_name = var6;
 {
-{ /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
-var6 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on <self:ATypePropdef> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1527);
+{ /* Inline parser_nodes#ATypePropdef#n_qid (self) on <self:ATypePropdef> */
+var9 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_qid].val; /* _n_qid on <self:ATypePropdef> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1493);
 fatal_exit(1);
 }
-var4 = var6;
-RET_LABEL5:(void)0;
+var7 = var9;
+RET_LABEL8:(void)0;
 }
 }
 {
-var7 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var4, var_mclassdef, var_name);
+var10 = nitc___nitc__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var7, var_mclassdef, var_name);
 }
-var_mprop = var7;
+var_mprop = var10;
 if (var_mprop == NULL) {
-var8 = 1; /* is null */
+var11 = 1; /* is null */
 } else {
-var8 = 0; /* arg is null but recv is not */
+var11 = 0; /* arg is null but recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#== (var_mprop,((val*)NULL)) on <var_mprop:nullable MProperty> */
 var_other = ((val*)NULL);
 {
 { /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on <var_mprop:nullable MProperty(MProperty)> */
-var13 = var_mprop == var_other;
-var11 = var13;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
+var16 = var_mprop == var_other;
+var14 = var16;
+goto RET_LABEL15;
+RET_LABEL15:(void)0;
 }
 }
-var9 = var11;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
+var12 = var14;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
 }
-var8 = var9;
+var11 = var12;
 }
-if (var8){
+if (var11){
 {
 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
-var16 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:ATypePropdef> */
-var14 = var16;
-RET_LABEL15:(void)0;
+var19 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:ATypePropdef> */
+var17 = var19;
+RET_LABEL18:(void)0;
 }
 }
 {
-var17 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var14);
+var20 = nitc__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var17);
 }
-var_mvisibility = var17;
-var18 = NEW_nit__MVirtualTypeProp(&type_nit__MVirtualTypeProp);
+var_mvisibility = var20;
+var21 = NEW_nitc__MVirtualTypeProp(&type_nitc__MVirtualTypeProp);
 {
-((void(*)(val* self, val* p0))(var18->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var18, var_mclassdef); /* intro_mclassdef= on <var18:MVirtualTypeProp>*/
+((void(*)(val* self, val* p0))(var21->class->vft[COLOR_nitc__model__MProperty__intro_mclassdef_61d]))(var21, var_mclassdef); /* intro_mclassdef= on <var21:MVirtualTypeProp>*/
 }
 {
-((void(*)(val* self, val* p0))(var18->class->vft[COLOR_nit__model__MProperty__name_61d]))(var18, var_name); /* name= on <var18:MVirtualTypeProp>*/
+((void(*)(val* self, val* p0))(var21->class->vft[COLOR_nitc__model__MProperty__name_61d]))(var21, var_name); /* name= on <var21:MVirtualTypeProp>*/
 }
 {
-((void(*)(val* self, val* p0))(var18->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var18, var_mvisibility); /* visibility= on <var18:MVirtualTypeProp>*/
+((void(*)(val* self, val* p0))(var21->class->vft[COLOR_nitc__model__MProperty__visibility_61d]))(var21, var_mvisibility); /* visibility= on <var21:MVirtualTypeProp>*/
 }
 {
-((void(*)(val* self))(var18->class->vft[COLOR_standard__kernel__Object__init]))(var18); /* init on <var18:MVirtualTypeProp>*/
+((void(*)(val* self))(var21->class->vft[COLOR_core__kernel__Object__init]))(var21); /* init on <var21:MVirtualTypeProp>*/
 }
-var_mprop = var18;
+var_mprop = var21;
 {
-var19 = ((val*(*)(val* self))(var_name->class->vft[COLOR_standard__string__Text__chars]))(var_name); /* chars on <var_name:String>*/
+var22 = ((val*(*)(val* self))(var_name->class->vft[COLOR_core__abstract_text__Text__chars]))(var_name); /* chars on <var_name:String>*/
 }
-var_ = var19;
+var_ = var22;
 {
-var20 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:SequenceRead[Char]>*/
+var23 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:SequenceRead[Char]>*/
 }
-var_21 = var20;
+var_24 = var23;
 for(;;) {
 {
-var22 = ((short int(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_21); /* is_ok on <var_21:IndexedIterator[Char]>*/
+var25 = ((short int(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_24); /* is_ok on <var_24:IndexedIterator[Char]>*/
+}
+if (var25){
+} else {
+goto BREAK_label;
 }
-if (var22){
 {
-var23 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_21); /* item on <var_21:IndexedIterator[Char]>*/
+var26 = ((val*(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_24); /* item on <var_24:IndexedIterator[Char]>*/
 }
-var24 = (uint32_t)((long)(var23)>>2);
-var_c = var24;
+var27 = (uint32_t)((long)(var26)>>2);
+var_c = var27;
 {
 { /* Inline kernel#Char#>= (var_c,'a') on <var_c:Char> */
 /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */
 /* <'a':Char> isa OTHER */
-var28 = 1; /* easy <'a':Char> isa OTHER*/
-if (unlikely(!var28)) {
-var_class_name = type_standard__Char.name;
+var31 = 1; /* easy <'a':Char> isa OTHER*/
+if (unlikely(!var31)) {
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
-var29 = var_c >= 'a';
-var26 = var29;
-goto RET_LABEL27;
-RET_LABEL27:(void)0;
+var32 = var_c >= 'a';
+var29 = var32;
+goto RET_LABEL30;
+RET_LABEL30:(void)0;
 }
 }
-var_30 = var26;
-if (var26){
+var_33 = var29;
+if (var29){
 {
 { /* Inline kernel#Char#<= (var_c,'z') on <var_c:Char> */
 /* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */
 /* <'z':Char> isa OTHER */
-var33 = 1; /* easy <'z':Char> isa OTHER*/
-if (unlikely(!var33)) {
-var_class_name36 = type_standard__Char.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+var36 = 1; /* easy <'z':Char> isa OTHER*/
+if (unlikely(!var36)) {
+var_class_name39 = type_core__Char.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
-var37 = var_c <= 'z';
-var31 = var37;
-goto RET_LABEL32;
-RET_LABEL32:(void)0;
+var40 = var_c <= 'z';
+var34 = var40;
+goto RET_LABEL35;
+RET_LABEL35:(void)0;
 }
 }
-var25 = var31;
+var28 = var34;
 } else {
-var25 = var_30;
+var28 = var_33;
 }
-if (var25){
+if (var28){
 {
-{ /* Inline parser_nodes#ATypePropdef#n_id (self) on <self:ATypePropdef> */
-var40 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on <self:ATypePropdef> */
-if (unlikely(var40 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1527);
+{ /* Inline parser_nodes#ATypePropdef#n_qid (self) on <self:ATypePropdef> */
+var43 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_qid].val; /* _n_qid on <self:ATypePropdef> */
+if (unlikely(var43 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1493);
 fatal_exit(1);
 }
-var38 = var40;
-RET_LABEL39:(void)0;
+var41 = var43;
+RET_LABEL42:(void)0;
 }
 }
 if (likely(varonce!=NULL)) {
-var41 = varonce;
+var44 = varonce;
 } else {
-var42 = "bad-type-name";
-var43 = standard___standard__NativeString___to_s_with_length(var42, 13l);
-var41 = var43;
-varonce = var41;
+var45 = "bad-type-name";
+var46 = core__flat___NativeString___to_s_full(var45, 13l, 13l);
+var44 = var46;
+varonce = var44;
 }
-if (unlikely(varonce44==NULL)) {
-var45 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce46!=NULL)) {
-var47 = varonce46;
+if (unlikely(varonce47==NULL)) {
+var48 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce49!=NULL)) {
+var50 = varonce49;
 } else {
-var48 = "Warning: lowercase in the virtual type `";
-var49 = standard___standard__NativeString___to_s_with_length(var48, 40l);
-var47 = var49;
-varonce46 = var47;
+var51 = "Warning: lowercase in the virtual type `";
+var52 = core__flat___NativeString___to_s_full(var51, 40l, 40l);
+var50 = var52;
+varonce49 = var50;
 }
-((struct instance_standard__NativeArray*)var45)->values[0]=var47;
-if (likely(varonce50!=NULL)) {
-var51 = varonce50;
+((struct instance_core__NativeArray*)var48)->values[0]=var50;
+if (likely(varonce53!=NULL)) {
+var54 = varonce53;
 } else {
-var52 = "`.";
-var53 = standard___standard__NativeString___to_s_with_length(var52, 2l);
-var51 = var53;
-varonce50 = var51;
+var55 = "`.";
+var56 = core__flat___NativeString___to_s_full(var55, 2l, 2l);
+var54 = var56;
+varonce53 = var54;
 }
-((struct instance_standard__NativeArray*)var45)->values[2]=var51;
+((struct instance_core__NativeArray*)var48)->values[2]=var54;
 } else {
-var45 = varonce44;
-varonce44 = NULL;
+var48 = varonce47;
+varonce47 = NULL;
 }
-((struct instance_standard__NativeArray*)var45)->values[1]=var_name;
+((struct instance_core__NativeArray*)var48)->values[1]=var_name;
 {
-var54 = ((val*(*)(val* self))(var45->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var45); /* native_to_s on <var45:NativeArray[String]>*/
+var57 = ((val*(*)(val* self))(var48->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var48); /* native_to_s on <var48:NativeArray[String]>*/
 }
-varonce44 = var45;
+varonce47 = var48;
 {
-nit___nit__ModelBuilder___warning(var_modelbuilder, var38, var41, var54); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___warning(var_modelbuilder, var41, var44, var57); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
 }
 goto BREAK_label;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_21); /* next on <var_21:IndexedIterator[Char]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_24); /* next on <var_24:IndexedIterator[Char]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_21); /* finish on <var_21:IndexedIterator[Char]>*/
-}
-{
-{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
-var57 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:ATypePropdef> */
-var55 = var57;
-RET_LABEL56:(void)0;
-}
-}
-{
-var58 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var55, 0, var_mprop);
-}
-var59 = !var58;
-if (var59){
-goto RET_LABEL;
-} else {
-}
-} else {
-{
-{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
-var62 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:ATypePropdef> */
-var60 = var62;
-RET_LABEL61:(void)0;
-}
-}
-{
-var63 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var60, 1, var_mprop);
+((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_24); /* finish on <var_24:IndexedIterator[Char]>*/
 }
-var64 = !var63;
-if (var64){
-goto RET_LABEL;
 } else {
-}
 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
-cltype66 = type_nit__MVirtualTypeProp.color;
-idtype67 = type_nit__MVirtualTypeProp.id;
-if(cltype66 >= var_mprop->type->table_size) {
-var65 = 0;
+cltype59 = type_nitc__MVirtualTypeProp.color;
+idtype60 = type_nitc__MVirtualTypeProp.id;
+if(cltype59 >= var_mprop->type->table_size) {
+var58 = 0;
 } else {
-var65 = var_mprop->type->type_table[cltype66] == idtype67;
+var58 = var_mprop->type->type_table[cltype59] == idtype60;
 }
-if (unlikely(!var65)) {
+if (unlikely(!var58)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1551);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1583);
 fatal_exit(1);
 }
 {
 { /* Inline parser_nodes#ADefinition#n_visibility (self) on <self:ATypePropdef> */
-var70 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:ATypePropdef> */
-var68 = var70;
-RET_LABEL69:(void)0;
-}
-}
-{
-nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var68, var_mprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:ATypePropdef>*/
+var63 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:ATypePropdef> */
+var61 = var63;
+RET_LABEL62:(void)0;
 }
 }
 {
-{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
-var73 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
-if (unlikely(var73 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505);
-fatal_exit(1);
-}
-var71 = var73;
-RET_LABEL72:(void)0;
-}
+nitc__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var61, var_mprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on <self:ATypePropdef>*/
 }
-{
-((void(*)(val* self, val* p0, val* p1))((((long)var71&3)?class_info[((long)var71&3)]:var71->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var71, var_mprop, self); /* []= on <var71:Map[MProperty, APropdef]>*/
 }
-var74 = NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef);
+var64 = NEW_nitc__MVirtualTypeDef(&type_nitc__MVirtualTypeDef);
 {
 { /* Inline parser_nodes#ANode#location (self) on <self:ATypePropdef> */
-var77 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:ATypePropdef> */
-if (unlikely(var77 == NULL)) {
+var67 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:ATypePropdef> */
+if (unlikely(var67 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
-var75 = var77;
-RET_LABEL76:(void)0;
+var65 = var67;
+RET_LABEL66:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var74->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var74, var_mclassdef); /* mclassdef= on <var74:MVirtualTypeDef>*/
+((void(*)(val* self, val* p0))(var64->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var64, var_mclassdef); /* mclassdef= on <var64:MVirtualTypeDef>*/
 }
 {
-((void(*)(val* self, val* p0))(var74->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var74, var_mprop); /* mproperty= on <var74:MVirtualTypeDef>*/
+((void(*)(val* self, val* p0))(var64->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var64, var_mprop); /* mproperty= on <var64:MVirtualTypeDef>*/
 }
 {
-((void(*)(val* self, val* p0))(var74->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var74, var75); /* location= on <var74:MVirtualTypeDef>*/
+((void(*)(val* self, val* p0))(var64->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var64, var65); /* location= on <var64:MVirtualTypeDef>*/
 }
 {
-((void(*)(val* self))(var74->class->vft[COLOR_standard__kernel__Object__init]))(var74); /* init on <var74:MVirtualTypeDef>*/
+((void(*)(val* self))(var64->class->vft[COLOR_core__kernel__Object__init]))(var64); /* init on <var64:MVirtualTypeDef>*/
 }
-var_mpropdef = var74;
+var_mpropdef = var64;
 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
-type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF];
-cltype79 = type_struct->color;
-idtype80 = type_struct->id;
-if(cltype79 >= var_mpropdef->type->table_size) {
-var78 = 0;
+type_struct = self->type->resolution_table->types[COLOR_nullable__nitc__modelize_property__APropdef__MPROPDEF];
+cltype69 = type_struct->color;
+idtype70 = type_struct->id;
+if(cltype69 >= var_mpropdef->type->table_size) {
+var68 = 0;
 } else {
-var78 = var_mpropdef->type->type_table[cltype79] == idtype80;
+var68 = var_mpropdef->type->type_table[cltype69] == idtype70;
 }
-if (unlikely(!var78)) {
-var_class_name81 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name81);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1557);
+if (unlikely(!var68)) {
+var_class_name71 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name71);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1588);
 fatal_exit(1);
 }
 {
 { /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on <self:ATypePropdef> */
 /* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
-type_struct86 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF];
-cltype84 = type_struct86->color;
-idtype85 = type_struct86->id;
-if(cltype84 >= var_mpropdef->type->table_size) {
-var83 = 0;
+type_struct76 = self->type->resolution_table->types[COLOR_nullable__nitc__modelize_property__APropdef__MPROPDEF];
+cltype74 = type_struct76->color;
+idtype75 = type_struct76->id;
+if(cltype74 >= var_mpropdef->type->table_size) {
+var73 = 0;
 } else {
-var83 = var_mpropdef->type->type_table[cltype84] == idtype85;
+var73 = var_mpropdef->type->type_table[cltype74] == idtype75;
 }
-if (unlikely(!var83)) {
-var_class_name87 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name87);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 558);
+if (unlikely(!var73)) {
+var_class_name77 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name77);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 559);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on <self:ATypePropdef> */
-RET_LABEL82:(void)0;
+self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on <self:ATypePropdef> */
+RET_LABEL72:(void)0;
 }
 }
 {
-{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var90 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var90 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40);
+var78 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
+}
+if (var78){
+{
+{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var81 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var81 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
 fatal_exit(1);
 }
-var88 = var90;
-RET_LABEL89:(void)0;
+var79 = var81;
+RET_LABEL80:(void)0;
+}
+}
+if (unlikely(varonce82==NULL)) {
+var83 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce84!=NULL)) {
+var85 = varonce84;
+} else {
+var86 = " introduces new type ";
+var87 = core__flat___NativeString___to_s_full(var86, 21l, 21l);
+var85 = var87;
+varonce84 = var85;
+}
+((struct instance_core__NativeArray*)var83)->values[1]=var85;
+} else {
+var83 = varonce82;
+varonce82 = NULL;
 }
+{
+var88 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
 }
+((struct instance_core__NativeArray*)var83)->values[0]=var88;
 {
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var88, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on <var88:HashMap[MPropDef, APropdef]>*/
+var89 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mprop);
 }
+((struct instance_core__NativeArray*)var83)->values[2]=var89;
 {
-var91 = nit___nit__MPropDef___is_intro(var_mpropdef);
+var90 = ((val*(*)(val* self))(var83->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var83); /* native_to_s on <var83:NativeArray[String]>*/
 }
-if (var91){
+varonce82 = var83;
+{
+nitc___nitc__ToolContext___info(var79, var90, 4l); /* Direct call toolcontext#ToolContext#info on <var79:ToolContext>*/
+}
+} else {
 {
 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var94 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var94 == NULL)) {
+var93 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var93 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
 fatal_exit(1);
 }
-var92 = var94;
-RET_LABEL93:(void)0;
+var91 = var93;
+RET_LABEL92:(void)0;
 }
 }
-if (unlikely(varonce95==NULL)) {
-var96 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce97!=NULL)) {
-var98 = varonce97;
+if (unlikely(varonce94==NULL)) {
+var95 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce96!=NULL)) {
+var97 = varonce96;
 } else {
-var99 = " introduces new type ";
-var100 = standard___standard__NativeString___to_s_with_length(var99, 21l);
-var98 = var100;
-varonce97 = var98;
+var98 = " redefines type ";
+var99 = core__flat___NativeString___to_s_full(var98, 16l, 16l);
+var97 = var99;
+varonce96 = var97;
 }
-((struct instance_standard__NativeArray*)var96)->values[1]=var98;
+((struct instance_core__NativeArray*)var95)->values[1]=var97;
 } else {
-var96 = varonce95;
-varonce95 = NULL;
+var95 = varonce94;
+varonce94 = NULL;
 }
 {
-var101 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
+var100 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
 }
-((struct instance_standard__NativeArray*)var96)->values[0]=var101;
+((struct instance_core__NativeArray*)var95)->values[0]=var100;
 {
-var102 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop);
+var101 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mprop);
 }
-((struct instance_standard__NativeArray*)var96)->values[2]=var102;
+((struct instance_core__NativeArray*)var95)->values[2]=var101;
 {
-var103 = ((val*(*)(val* self))(var96->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var96); /* native_to_s on <var96:NativeArray[String]>*/
+var102 = ((val*(*)(val* self))(var95->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var95); /* native_to_s on <var95:NativeArray[String]>*/
 }
-varonce95 = var96;
+varonce94 = var95;
 {
-nit___nit__ToolContext___info(var92, var103, 4l); /* Direct call toolcontext#ToolContext#info on <var92:ToolContext>*/
+nitc___nitc__ToolContext___info(var91, var102, 4l); /* Direct call toolcontext#ToolContext#info on <var91:ToolContext>*/
+}
 }
-} else {
 {
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var106 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var106 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
+{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on <self:ATypePropdef> */
+var105 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:ATypePropdef> */
+var103 = var105;
+RET_LABEL104:(void)0;
 }
-var104 = var106;
-RET_LABEL105:(void)0;
 }
+{
+var106 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
+}
+var107 = !var106;
+{
+var108 = nitc__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var103, var107, var_mprop);
+}
+var109 = !var108;
+if (var109){
+{
+{ /* Inline model_base#MEntity#is_broken= (var_mpropdef,1) on <var_mpropdef:MVirtualTypeDef> */
+var_mpropdef->attrs[COLOR_nitc__model_base__MEntity___is_broken].s = 1; /* _is_broken on <var_mpropdef:MVirtualTypeDef> */
+RET_LABEL110:(void)0;
 }
-if (unlikely(varonce107==NULL)) {
-var108 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce109!=NULL)) {
-var110 = varonce109;
-} else {
-var111 = " redefines type ";
-var112 = standard___standard__NativeString___to_s_with_length(var111, 16l);
-var110 = var112;
-varonce109 = var110;
 }
-((struct instance_standard__NativeArray*)var108)->values[1]=var110;
 } else {
-var108 = varonce107;
-varonce107 = NULL;
 }
 {
-var113 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:MVirtualTypeDef>*/
+{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
+var113 = var_mclassdef->attrs[COLOR_nitc__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
+if (unlikely(var113 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 506);
+fatal_exit(1);
+}
+var111 = var113;
+RET_LABEL112:(void)0;
 }
-((struct instance_standard__NativeArray*)var108)->values[0]=var113;
-{
-var114 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop);
 }
-((struct instance_standard__NativeArray*)var108)->values[2]=var114;
 {
-var115 = ((val*(*)(val* self))(var108->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var108); /* native_to_s on <var108:NativeArray[String]>*/
+((void(*)(val* self, val* p0, val* p1))((((long)var111&3)?class_info[((long)var111&3)]:var111->class)->vft[COLOR_core__abstract_collection__Map___91d_93d_61d]))(var111, var_mprop, self); /* []= on <var111:Map[MProperty, APropdef]>*/
 }
-varonce107 = var108;
 {
-nit___nit__ToolContext___info(var104, var115, 4l); /* Direct call toolcontext#ToolContext#info on <var104:ToolContext>*/
+{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var116 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var116 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 40);
+fatal_exit(1);
 }
+var114 = var116;
+RET_LABEL115:(void)0;
+}
+}
+{
+core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var114, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on <var114:HashMap[MPropDef, APropdef]>*/
 }
 {
-nit__modelize_property___APropdef___set_doc(self, var_mpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on <self:ATypePropdef>*/
+nitc__modelize_property___APropdef___set_doc(self, var_mpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on <self:ATypePropdef>*/
 }
-if (likely(varonce116!=NULL)) {
-var117 = varonce116;
+if (likely(varonce117!=NULL)) {
+var118 = varonce117;
 } else {
-var118 = "fixed";
-var119 = standard___standard__NativeString___to_s_with_length(var118, 5l);
-var117 = var119;
-varonce116 = var117;
+var119 = "fixed";
+var120 = core__flat___NativeString___to_s_full(var119, 5l, 5l);
+var118 = var120;
+varonce117 = var118;
 }
 {
-var120 = nit__annotation___Prod___get_single_annotation(self, var117, var_modelbuilder);
+var121 = nitc__annotation___Prod___get_single_annotation(self, var118, var_modelbuilder);
 }
-var_atfixed = var120;
+var_atfixed = var121;
 if (var_atfixed == NULL) {
-var121 = 0; /* is null */
+var122 = 0; /* is null */
 } else {
-var121 = 1; /* arg is null and recv is not */
+var122 = 1; /* arg is null and recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#!= (var_atfixed,((val*)NULL)) on <var_atfixed:nullable AAnnotation> */
-var_other124 = ((val*)NULL);
+var_other125 = ((val*)NULL);
 {
-var125 = ((short int(*)(val* self, val* p0))(var_atfixed->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atfixed, var_other124); /* == on <var_atfixed:nullable AAnnotation(AAnnotation)>*/
+var126 = ((short int(*)(val* self, val* p0))(var_atfixed->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atfixed, var_other125); /* == on <var_atfixed:nullable AAnnotation(AAnnotation)>*/
 }
-var126 = !var125;
-var122 = var126;
-goto RET_LABEL123;
-RET_LABEL123:(void)0;
+var127 = !var126;
+var123 = var127;
+goto RET_LABEL124;
+RET_LABEL124:(void)0;
 }
-var121 = var122;
+var122 = var123;
 }
-if (var121){
+if (var122){
 {
 { /* Inline model#MVirtualTypeDef#is_fixed= (var_mpropdef,1) on <var_mpropdef:MVirtualTypeDef> */
-var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s = 1; /* _is_fixed on <var_mpropdef:MVirtualTypeDef> */
-RET_LABEL127:(void)0;
+var_mpropdef->attrs[COLOR_nitc__model__MVirtualTypeDef___is_fixed].s = 1; /* _is_fixed on <var_mpropdef:MVirtualTypeDef> */
+RET_LABEL128:(void)0;
 }
 }
 } else {
@@ -2671,7 +2730,7 @@ RET_LABEL127:(void)0;
 RET_LABEL:;
 }
 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder) */
-void nit__modelize_property___ATypePropdef___APropdef__build_signature(val* self, val* p0) {
+void nitc__modelize_property___ATypePropdef___APropdef__build_signature(val* self, val* p0) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var /* : nullable MPropDef */;
 val* var2 /* : nullable MPropDef */;
@@ -2699,7 +2758,7 @@ short int var24 /* : Bool */;
 var_modelbuilder = p0;
 {
 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
-var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:ATypePropdef> */
+var2 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:ATypePropdef> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -2733,10 +2792,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var11 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var11 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 if (unlikely(var11 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
 var9 = var11;
@@ -2746,10 +2805,10 @@ RET_LABEL10:(void)0;
 var_mclassdef = var9;
 {
 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
-var14 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
+var14 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
 if (unlikely(var14 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573);
 fatal_exit(1);
 }
 var12 = var14;
@@ -2760,10 +2819,10 @@ var_mmodule = var12;
 var_mtype = ((val*)NULL);
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var17 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
 var15 = var17;
@@ -2772,7 +2831,7 @@ RET_LABEL16:(void)0;
 }
 var_ntype = var15;
 {
-var18 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype, 1);
+var18 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype, 1);
 }
 var_mtype = var18;
 if (var_mtype == NULL) {
@@ -2803,14 +2862,14 @@ goto RET_LABEL;
 }
 {
 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = var_mtype; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var_mpropdef->attrs[COLOR_nitc__model__MVirtualTypeDef___bound].val = var_mtype; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 RET_LABEL25:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder) */
-void nit__modelize_property___ATypePropdef___APropdef__check_signature(val* self, val* p0) {
+void nitc__modelize_property___ATypePropdef___APropdef__check_signature(val* self, val* p0) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var /* : nullable MPropDef */;
 val* var2 /* : nullable MPropDef */;
@@ -2850,8 +2909,8 @@ val* var41 /* : MProperty */;
 val* var43 /* : MProperty */;
 val* var44 /* : Array[MPropDef] */;
 val* var_ /* var : Array[MVirtualTypeDef] */;
-val* var45 /* : ArrayIterator[nullable Object] */;
-val* var_46 /* var : ArrayIterator[MVirtualTypeDef] */;
+val* var45 /* : IndexedIterator[nullable Object] */;
+val* var_46 /* var : IndexedIterator[MVirtualTypeDef] */;
 short int var47 /* : Bool */;
 val* var48 /* : nullable Object */;
 val* var_p /* var p: MVirtualTypeDef */;
@@ -2860,79 +2919,88 @@ val* var51 /* : nullable MType */;
 val* var_supbound /* var supbound: nullable MType */;
 short int var52 /* : Bool */;
 short int var53 /* : Bool */;
+short int var54 /* : Bool */;
 short int var55 /* : Bool */;
 short int var57 /* : Bool */;
-short int var58 /* : Bool */;
-short int var60 /* : Bool */;
-val* var61 /* : NativeArray[String] */;
+short int var59 /* : Bool */;
+short int var_60 /* var : Bool */;
+short int var61 /* : Bool */;
+int cltype;
+int idtype;
+short int var_62 /* var : Bool */;
+short int var63 /* : Bool */;
+short int var65 /* : Bool */;
+short int var66 /* : Bool */;
+short int var68 /* : Bool */;
+val* var69 /* : NativeArray[String] */;
 static val* varonce;
-static val* varonce62;
-val* var63 /* : String */;
-char* var64 /* : NativeString */;
-val* var65 /* : FlatString */;
-static val* varonce66;
-val* var67 /* : String */;
-char* var68 /* : NativeString */;
-val* var69 /* : FlatString */;
 static val* varonce70;
 val* var71 /* : String */;
 char* var72 /* : NativeString */;
-val* var73 /* : FlatString */;
-val* var74 /* : MProperty */;
-val* var76 /* : MProperty */;
+val* var73 /* : String */;
+static val* varonce74;
+val* var75 /* : String */;
+char* var76 /* : NativeString */;
 val* var77 /* : String */;
-val* var78 /* : MClassDef */;
-val* var80 /* : MClassDef */;
-val* var81 /* : MClass */;
-val* var83 /* : MClass */;
-val* var84 /* : String */;
+static val* varonce78;
+val* var79 /* : String */;
+char* var80 /* : NativeString */;
+val* var81 /* : String */;
+val* var82 /* : MProperty */;
+val* var84 /* : MProperty */;
 val* var85 /* : String */;
 val* var86 /* : MClassDef */;
 val* var88 /* : MClassDef */;
 val* var89 /* : MClass */;
 val* var91 /* : MClass */;
-val* var92 /* : MClass */;
-val* var94 /* : MClass */;
-short int var95 /* : Bool */;
-short int var97 /* : Bool */;
-short int var99 /* : Bool */;
-val* var100 /* : AType */;
-val* var102 /* : AType */;
-static val* varonce103;
-val* var104 /* : String */;
-char* var105 /* : NativeString */;
-val* var106 /* : FlatString */;
-static val* varonce107;
-val* var108 /* : String */;
-char* var109 /* : NativeString */;
-val* var110 /* : FlatString */;
-val* var111 /* : AType */;
-val* var113 /* : AType */;
-short int var114 /* : Bool */;
-short int var115 /* : Bool */;
-val* var116 /* : AType */;
-val* var118 /* : AType */;
-val* var120 /* : NativeArray[String] */;
-static val* varonce119;
-static val* varonce121;
-val* var122 /* : String */;
-char* var123 /* : NativeString */;
-val* var124 /* : FlatString */;
-static val* varonce125;
-val* var126 /* : String */;
-char* var127 /* : NativeString */;
-val* var128 /* : FlatString */;
+val* var92 /* : String */;
+val* var93 /* : String */;
+val* var94 /* : MClassDef */;
+val* var96 /* : MClassDef */;
+val* var97 /* : MClass */;
+val* var99 /* : MClass */;
+val* var100 /* : MClass */;
+val* var102 /* : MClass */;
+short int var103 /* : Bool */;
+short int var105 /* : Bool */;
+short int var107 /* : Bool */;
+val* var108 /* : AType */;
+val* var110 /* : AType */;
+static val* varonce111;
+val* var112 /* : String */;
+char* var113 /* : NativeString */;
+val* var114 /* : String */;
+static val* varonce115;
+val* var116 /* : String */;
+char* var117 /* : NativeString */;
+val* var118 /* : String */;
+val* var119 /* : AType */;
+val* var121 /* : AType */;
+short int var122 /* : Bool */;
+short int var123 /* : Bool */;
+val* var124 /* : AType */;
+val* var126 /* : AType */;
+val* var128 /* : NativeArray[String] */;
+static val* varonce127;
 static val* varonce129;
 val* var130 /* : String */;
 char* var131 /* : NativeString */;
-val* var132 /* : FlatString */;
-val* var133 /* : String */;
+val* var132 /* : String */;
+static val* varonce133;
 val* var134 /* : String */;
-val* var135 /* : String */;
+char* var135 /* : NativeString */;
+val* var136 /* : String */;
+static val* varonce137;
+val* var138 /* : String */;
+char* var139 /* : NativeString */;
+val* var140 /* : String */;
+val* var141 /* : String */;
+val* var142 /* : String */;
+val* var143 /* : String */;
 var_modelbuilder = p0;
 {
 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:ATypePropdef> */
-var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:ATypePropdef> */
+var2 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:ATypePropdef> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -2966,7 +3034,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var11 = var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var11 = var_mpropdef->attrs[COLOR_nitc__model__MVirtualTypeDef___bound].val; /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 var9 = var11;
 RET_LABEL10:(void)0;
 }
@@ -3000,10 +3068,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var20 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+var20 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
 if (unlikely(var20 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
 var18 = var20;
@@ -3011,14 +3079,14 @@ RET_LABEL19:(void)0;
 }
 }
 {
-nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var18, var_bound, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
+nitc__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var18, var_bound, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on <var_modelbuilder:ModelBuilder>*/
 }
 {
 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var23 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var23 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 if (unlikely(var23 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
 var21 = var23;
@@ -3028,10 +3096,10 @@ RET_LABEL22:(void)0;
 var_mclassdef = var21;
 {
 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
-var26 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
+var26 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
 if (unlikely(var26 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573);
 fatal_exit(1);
 }
 var24 = var26;
@@ -3041,10 +3109,10 @@ RET_LABEL25:(void)0;
 var_mmodule = var24;
 {
 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
-var29 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
+var29 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
 if (unlikely(var29 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579);
 fatal_exit(1);
 }
 var27 = var29;
@@ -3054,10 +3122,10 @@ RET_LABEL28:(void)0;
 var_anchor = var27;
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var32 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+var32 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
 if (unlikely(var32 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
 var30 = var32;
@@ -3066,7 +3134,7 @@ RET_LABEL31:(void)0;
 }
 var_ntype = var30;
 {
-var33 = nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype);
+var33 = nitc___nitc__ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype);
 }
 if (var33 == NULL) {
 var34 = 1; /* is null */
@@ -3093,7 +3161,7 @@ var34 = var35;
 if (var34){
 {
 { /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = ((val*)NULL); /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var_mpropdef->attrs[COLOR_nitc__model__MVirtualTypeDef___bound].val = ((val*)NULL); /* _bound on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 RET_LABEL40:(void)0;
 }
 }
@@ -3102,10 +3170,10 @@ goto RET_LABEL;
 }
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var43 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+var43 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
 if (unlikely(var43 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
 var41 = var43;
@@ -3113,51 +3181,81 @@ RET_LABEL42:(void)0;
 }
 }
 {
-var44 = nit___nit__MProperty___lookup_super_definitions(var41, var_mmodule, var_anchor);
+var44 = nitc___nitc__MProperty___lookup_super_definitions(var41, var_mmodule, var_anchor);
 }
 var_ = var44;
 {
-var45 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var45 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
 var_46 = var45;
 for(;;) {
 {
-var47 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_46);
+var47 = ((short int(*)(val* self))((((long)var_46&3)?class_info[((long)var_46&3)]:var_46->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_46); /* is_ok on <var_46:IndexedIterator[MVirtualTypeDef]>*/
 }
 if (var47){
+} else {
+goto BREAK_label;
+}
 {
-var48 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_46);
+var48 = ((val*(*)(val* self))((((long)var_46&3)?class_info[((long)var_46&3)]:var_46->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_46); /* item on <var_46:IndexedIterator[MVirtualTypeDef]>*/
 }
 var_p = var48;
 {
 { /* Inline model#MVirtualTypeDef#bound (var_p) on <var_p:MVirtualTypeDef> */
-var51 = var_p->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on <var_p:MVirtualTypeDef> */
+var51 = var_p->attrs[COLOR_nitc__model__MVirtualTypeDef___bound].val; /* _bound on <var_p:MVirtualTypeDef> */
 var49 = var51;
 RET_LABEL50:(void)0;
 }
 }
 var_supbound = var49;
 if (var_supbound == NULL) {
-var52 = 1; /* is null */
+var54 = 1; /* is null */
 } else {
-var52 = 0; /* arg is null but recv is not */
+var54 = 0; /* arg is null but recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#== (var_supbound,((val*)NULL)) on <var_supbound:nullable MType> */
 var_other = ((val*)NULL);
 {
 { /* Inline kernel#Object#is_same_instance (var_supbound,var_other) on <var_supbound:nullable MType(MType)> */
-var57 = var_supbound == var_other;
+var59 = var_supbound == var_other;
+var57 = var59;
+goto RET_LABEL58;
+RET_LABEL58:(void)0;
+}
+}
 var55 = var57;
 goto RET_LABEL56;
 RET_LABEL56:(void)0;
 }
+var54 = var55;
+}
+var_60 = var54;
+if (var54){
+var53 = var_60;
+} else {
+/* <var_supbound:nullable MType(MType)> isa MBottomType */
+cltype = type_nitc__MBottomType.color;
+idtype = type_nitc__MBottomType.id;
+if(cltype >= var_supbound->type->table_size) {
+var61 = 0;
+} else {
+var61 = var_supbound->type->type_table[cltype] == idtype;
+}
+var53 = var61;
+}
+var_62 = var53;
+if (var53){
+var52 = var_62;
+} else {
+{
+{ /* Inline model_base#MEntity#is_broken (var_p) on <var_p:MVirtualTypeDef> */
+var65 = var_p->attrs[COLOR_nitc__model_base__MEntity___is_broken].s; /* _is_broken on <var_p:MVirtualTypeDef> */
+var63 = var65;
+RET_LABEL64:(void)0;
 }
-var53 = var55;
-goto RET_LABEL54;
-RET_LABEL54:(void)0;
 }
-var52 = var53;
+var52 = var63;
 }
 if (var52){
 goto BREAK_label;
@@ -3165,276 +3263,273 @@ goto BREAK_label;
 }
 {
 { /* Inline model#MVirtualTypeDef#is_fixed (var_p) on <var_p:MVirtualTypeDef> */
-var60 = var_p->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s; /* _is_fixed on <var_p:MVirtualTypeDef> */
-var58 = var60;
-RET_LABEL59:(void)0;
+var68 = var_p->attrs[COLOR_nitc__model__MVirtualTypeDef___is_fixed].s; /* _is_fixed on <var_p:MVirtualTypeDef> */
+var66 = var68;
+RET_LABEL67:(void)0;
 }
 }
-if (var58){
+if (var66){
 if (unlikely(varonce==NULL)) {
-var61 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
-if (likely(varonce62!=NULL)) {
-var63 = varonce62;
-} else {
-var64 = "Redef Error: virtual type `";
-var65 = standard___standard__NativeString___to_s_with_length(var64, 27l);
-var63 = var65;
-varonce62 = var63;
-}
-((struct instance_standard__NativeArray*)var61)->values[0]=var63;
-if (likely(varonce66!=NULL)) {
-var67 = varonce66;
-} else {
-var68 = "` is fixed in super-class `";
-var69 = standard___standard__NativeString___to_s_with_length(var68, 27l);
-var67 = var69;
-varonce66 = var67;
-}
-((struct instance_standard__NativeArray*)var61)->values[2]=var67;
+var69 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
 if (likely(varonce70!=NULL)) {
 var71 = varonce70;
 } else {
-var72 = "`.";
-var73 = standard___standard__NativeString___to_s_with_length(var72, 2l);
+var72 = "Redef Error: virtual type `";
+var73 = core__flat___NativeString___to_s_full(var72, 27l, 27l);
 var71 = var73;
 varonce70 = var71;
 }
-((struct instance_standard__NativeArray*)var61)->values[4]=var71;
+((struct instance_core__NativeArray*)var69)->values[0]=var71;
+if (likely(varonce74!=NULL)) {
+var75 = varonce74;
+} else {
+var76 = "` is fixed in super-class `";
+var77 = core__flat___NativeString___to_s_full(var76, 27l, 27l);
+var75 = var77;
+varonce74 = var75;
+}
+((struct instance_core__NativeArray*)var69)->values[2]=var75;
+if (likely(varonce78!=NULL)) {
+var79 = varonce78;
 } else {
-var61 = varonce;
+var80 = "`.";
+var81 = core__flat___NativeString___to_s_full(var80, 2l, 2l);
+var79 = var81;
+varonce78 = var79;
+}
+((struct instance_core__NativeArray*)var69)->values[4]=var79;
+} else {
+var69 = varonce;
 varonce = NULL;
 }
 {
 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-var76 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
-if (unlikely(var76 == NULL)) {
+var84 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)> */
+if (unlikely(var84 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230);
 fatal_exit(1);
 }
-var74 = var76;
-RET_LABEL75:(void)0;
+var82 = var84;
+RET_LABEL83:(void)0;
 }
 }
 {
-var77 = ((val*(*)(val* self))(var74->class->vft[COLOR_standard__string__Object__to_s]))(var74); /* to_s on <var74:MProperty(MVirtualTypeProp)>*/
+var85 = ((val*(*)(val* self))(var82->class->vft[COLOR_core__abstract_text__Object__to_s]))(var82); /* to_s on <var82:MProperty(MVirtualTypeProp)>*/
 }
-((struct instance_standard__NativeArray*)var61)->values[1]=var77;
+((struct instance_core__NativeArray*)var69)->values[1]=var85;
 {
 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
-var80 = var_p->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_p:MVirtualTypeDef> */
-if (unlikely(var80 == NULL)) {
+var88 = var_p->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_p:MVirtualTypeDef> */
+if (unlikely(var88 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
-var78 = var80;
-RET_LABEL79:(void)0;
+var86 = var88;
+RET_LABEL87:(void)0;
 }
 }
 {
-{ /* Inline model#MClassDef#mclass (var78) on <var78:MClassDef> */
-var83 = var78->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var78:MClassDef> */
-if (unlikely(var83 == NULL)) {
+{ /* Inline model#MClassDef#mclass (var86) on <var86:MClassDef> */
+var91 = var86->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var86:MClassDef> */
+if (unlikely(var91 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 576);
 fatal_exit(1);
 }
-var81 = var83;
-RET_LABEL82:(void)0;
+var89 = var91;
+RET_LABEL90:(void)0;
 }
 }
 {
-var84 = ((val*(*)(val* self))(var81->class->vft[COLOR_standard__string__Object__to_s]))(var81); /* to_s on <var81:MClass>*/
+var92 = ((val*(*)(val* self))(var89->class->vft[COLOR_core__abstract_text__Object__to_s]))(var89); /* to_s on <var89:MClass>*/
 }
-((struct instance_standard__NativeArray*)var61)->values[3]=var84;
+((struct instance_core__NativeArray*)var69)->values[3]=var92;
 {
-var85 = ((val*(*)(val* self))(var61->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var61); /* native_to_s on <var61:NativeArray[String]>*/
+var93 = ((val*(*)(val* self))(var69->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var69); /* native_to_s on <var69:NativeArray[String]>*/
 }
-varonce = var61;
+varonce = var69;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, self, var85); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var93); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 goto BREAK_label;
 } else {
 }
 {
 { /* Inline model#MPropDef#mclassdef (var_p) on <var_p:MVirtualTypeDef> */
-var88 = var_p->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_p:MVirtualTypeDef> */
-if (unlikely(var88 == NULL)) {
+var96 = var_p->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_p:MVirtualTypeDef> */
+if (unlikely(var96 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
 fatal_exit(1);
 }
-var86 = var88;
-RET_LABEL87:(void)0;
+var94 = var96;
+RET_LABEL95:(void)0;
 }
 }
 {
-{ /* Inline model#MClassDef#mclass (var86) on <var86:MClassDef> */
-var91 = var86->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var86:MClassDef> */
-if (unlikely(var91 == NULL)) {
+{ /* Inline model#MClassDef#mclass (var94) on <var94:MClassDef> */
+var99 = var94->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var94:MClassDef> */
+if (unlikely(var99 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 576);
 fatal_exit(1);
 }
-var89 = var91;
-RET_LABEL90:(void)0;
+var97 = var99;
+RET_LABEL98:(void)0;
 }
 }
 {
 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
-var94 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:MClassDef> */
-if (unlikely(var94 == NULL)) {
+var102 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:MClassDef> */
+if (unlikely(var102 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 576);
 fatal_exit(1);
 }
-var92 = var94;
-RET_LABEL93:(void)0;
+var100 = var102;
+RET_LABEL101:(void)0;
 }
 }
 {
-{ /* Inline kernel#Object#== (var89,var92) on <var89:MClass> */
-var_other = var92;
+{ /* Inline kernel#Object#== (var97,var100) on <var97:MClass> */
+var_other = var100;
 {
-{ /* Inline kernel#Object#is_same_instance (var89,var_other) on <var89:MClass> */
-var99 = var89 == var_other;
-var97 = var99;
-goto RET_LABEL98;
-RET_LABEL98:(void)0;
+{ /* Inline kernel#Object#is_same_instance (var97,var_other) on <var97:MClass> */
+var107 = var97 == var_other;
+var105 = var107;
+goto RET_LABEL106;
+RET_LABEL106:(void)0;
 }
 }
-var95 = var97;
-goto RET_LABEL96;
-RET_LABEL96:(void)0;
+var103 = var105;
+goto RET_LABEL104;
+RET_LABEL104:(void)0;
 }
 }
-if (var95){
+if (var103){
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var102 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
-if (unlikely(var102 == NULL)) {
+var110 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+if (unlikely(var110 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
-var100 = var102;
-RET_LABEL101:(void)0;
+var108 = var110;
+RET_LABEL109:(void)0;
 }
 }
-if (likely(varonce103!=NULL)) {
-var104 = varonce103;
+if (likely(varonce111!=NULL)) {
+var112 = varonce111;
 } else {
-var105 = "refine-type";
-var106 = standard___standard__NativeString___to_s_with_length(var105, 11l);
-var104 = var106;
-varonce103 = var104;
+var113 = "refine-type";
+var114 = core__flat___NativeString___to_s_full(var113, 11l, 11l);
+var112 = var114;
+varonce111 = var112;
 }
-if (likely(varonce107!=NULL)) {
-var108 = varonce107;
+if (likely(varonce115!=NULL)) {
+var116 = varonce115;
 } else {
-var109 = "Redef Error: a virtual type cannot be refined.";
-var110 = standard___standard__NativeString___to_s_with_length(var109, 46l);
-var108 = var110;
-varonce107 = var108;
+var117 = "Redef Error: a virtual type cannot be refined.";
+var118 = core__flat___NativeString___to_s_full(var117, 46l, 46l);
+var116 = var118;
+varonce115 = var116;
 }
 {
-nit___nit__ModelBuilder___warning(var_modelbuilder, var100, var104, var108); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___warning(var_modelbuilder, var108, var112, var116); /* Direct call modelbuilder_base#ModelBuilder#warning on <var_modelbuilder:ModelBuilder>*/
 }
 goto BREAK_label;
 } else {
 }
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var113 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
-if (unlikely(var113 == NULL)) {
+var121 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+if (unlikely(var121 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
-var111 = var113;
-RET_LABEL112:(void)0;
+var119 = var121;
+RET_LABEL120:(void)0;
 }
 }
 {
-var114 = nit___nit__ModelBuilder___check_subtype(var_modelbuilder, var111, var_mmodule, var_anchor, var_bound, var_supbound);
+var122 = nitc___nitc__ModelBuilder___check_subtype(var_modelbuilder, var119, var_mmodule, var_anchor, var_bound, var_supbound);
 }
-var115 = !var114;
-if (var115){
+var123 = !var122;
+if (var123){
 {
 { /* Inline parser_nodes#ATypePropdef#n_type (self) on <self:ATypePropdef> */
-var118 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
-if (unlikely(var118 == NULL)) {
+var126 = self->attrs[COLOR_nitc__parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
+if (unlikely(var126 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1496);
 fatal_exit(1);
 }
-var116 = var118;
-RET_LABEL117:(void)0;
-}
-}
-if (unlikely(varonce119==NULL)) {
-var120 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
-if (likely(varonce121!=NULL)) {
-var122 = varonce121;
-} else {
-var123 = "Redef Error: expected `";
-var124 = standard___standard__NativeString___to_s_with_length(var123, 23l);
-var122 = var124;
-varonce121 = var122;
+var124 = var126;
+RET_LABEL125:(void)0;
 }
-((struct instance_standard__NativeArray*)var120)->values[0]=var122;
-if (likely(varonce125!=NULL)) {
-var126 = varonce125;
-} else {
-var127 = "` bound type; got `";
-var128 = standard___standard__NativeString___to_s_with_length(var127, 19l);
-var126 = var128;
-varonce125 = var126;
 }
-((struct instance_standard__NativeArray*)var120)->values[2]=var126;
+if (unlikely(varonce127==NULL)) {
+var128 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
 if (likely(varonce129!=NULL)) {
 var130 = varonce129;
 } else {
-var131 = "`.";
-var132 = standard___standard__NativeString___to_s_with_length(var131, 2l);
+var131 = "Redef Error: expected `";
+var132 = core__flat___NativeString___to_s_full(var131, 23l, 23l);
 var130 = var132;
 varonce129 = var130;
 }
-((struct instance_standard__NativeArray*)var120)->values[4]=var130;
+((struct instance_core__NativeArray*)var128)->values[0]=var130;
+if (likely(varonce133!=NULL)) {
+var134 = varonce133;
+} else {
+var135 = "` bound type; got `";
+var136 = core__flat___NativeString___to_s_full(var135, 19l, 19l);
+var134 = var136;
+varonce133 = var134;
+}
+((struct instance_core__NativeArray*)var128)->values[2]=var134;
+if (likely(varonce137!=NULL)) {
+var138 = varonce137;
+} else {
+var139 = "`.";
+var140 = core__flat___NativeString___to_s_full(var139, 2l, 2l);
+var138 = var140;
+varonce137 = var138;
+}
+((struct instance_core__NativeArray*)var128)->values[4]=var138;
 } else {
-var120 = varonce119;
-varonce119 = NULL;
+var128 = varonce127;
+varonce127 = NULL;
 }
 {
-var133 = ((val*(*)(val* self))(var_supbound->class->vft[COLOR_standard__string__Object__to_s]))(var_supbound); /* to_s on <var_supbound:nullable MType(MType)>*/
+var141 = ((val*(*)(val* self))(var_supbound->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_supbound); /* to_s on <var_supbound:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var120)->values[1]=var133;
+((struct instance_core__NativeArray*)var128)->values[1]=var141;
 {
-var134 = ((val*(*)(val* self))(var_bound->class->vft[COLOR_standard__string__Object__to_s]))(var_bound); /* to_s on <var_bound:nullable MType(MType)>*/
+var142 = ((val*(*)(val* self))(var_bound->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_bound); /* to_s on <var_bound:nullable MType(MType)>*/
 }
-((struct instance_standard__NativeArray*)var120)->values[3]=var134;
+((struct instance_core__NativeArray*)var128)->values[3]=var142;
 {
-var135 = ((val*(*)(val* self))(var120->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var120); /* native_to_s on <var120:NativeArray[String]>*/
+var143 = ((val*(*)(val* self))(var128->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var128); /* native_to_s on <var128:NativeArray[String]>*/
 }
-varonce119 = var120;
+varonce127 = var128;
 {
-nit___nit__ModelBuilder___error(var_modelbuilder, var116, var135); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var124, var143); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
 }
 goto BREAK_label;
 } else {
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_46); /* Direct call array#ArrayIterator#next on <var_46:ArrayIterator[MVirtualTypeDef]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_46&3)?class_info[((long)var_46&3)]:var_46->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_46); /* next on <var_46:IndexedIterator[MVirtualTypeDef]>*/
 }
 }
 BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_46); /* Direct call array#ArrayIterator#finish on <var_46:ArrayIterator[MVirtualTypeDef]>*/
+((void(*)(val* self))((((long)var_46&3)?class_info[((long)var_46&3)]:var_46->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_46); /* finish on <var_46:IndexedIterator[MVirtualTypeDef]>*/
 }
 RET_LABEL:;
 }