c_src: regenerate
[nit.git] / c_src / core__abstract_collection.sep.1.c
similarity index 60%
rename from c_src/standard__abstract_collection.sep.1.c
rename to c_src/core__abstract_collection.sep.1.c
index 4c0f6af..a0a4e8b 100644 (file)
@@ -1,12 +1,12 @@
-#include "standard__abstract_collection.sep.0.h"
+#include "core__abstract_collection.sep.0.h"
 /* method abstract_collection#Collection#is_empty for (self: Collection[nullable Object]): Bool */
-short int standard___standard__Collection___is_empty(val* self) {
+short int core___core__Collection___is_empty(val* self) {
 short int var /* : Bool */;
 long var1 /* : Int */;
 short int var2 /* : Bool */;
 short int var4 /* : Bool */;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Collection[nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Collection[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
@@ -22,12 +22,12 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Collection#not_empty for (self: Collection[nullable Object]): Bool */
-short int standard___standard__Collection___not_empty(val* self) {
+short int core___core__Collection___not_empty(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
 {
-var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:Collection[nullable Object]>*/
+var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:Collection[nullable Object]>*/
 }
 var2 = !var1;
 var = var2;
@@ -36,7 +36,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Collection#length for (self: Collection[nullable Object]): Int */
-long standard___standard__Collection___length(val* self) {
+long core___core__Collection___length(val* self) {
 long var /* : Int */;
 long var_nb /* var nb: Int */;
 val* var_ /* var : Collection[nullable Object] */;
@@ -54,16 +54,19 @@ long var8 /* : Int */;
 var_nb = 0l;
 var_ = self;
 {
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
 }
 var_2 = var1;
 for(;;) {
 {
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
+var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
 }
 if (var3){
+} else {
+goto BREAK_label;
+}
 {
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
 }
 var_i = var4;
 {
@@ -72,9 +75,9 @@ var_i = var4;
 /* <1l:Int> isa OTHER */
 var7 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var7)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var8 = var_nb + 1l;
@@ -85,15 +88,12 @@ RET_LABEL6:(void)0;
 }
 var_nb = var5;
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
 }
 var = var_nb;
 goto RET_LABEL;
@@ -101,7 +101,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Collection#has for (self: Collection[nullable Object], nullable Object): Bool */
-short int standard___standard__Collection___has(val* self, val* p0) {
+short int core___core__Collection___has(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_item /* var item: nullable Object */;
 val* var_ /* var : Collection[nullable Object] */;
@@ -115,22 +115,25 @@ short int var6 /* : Bool */;
 var_item = p0;
 var_ = self;
 {
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
 }
 var_2 = var1;
 for(;;) {
 {
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
+var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
 }
 if (var3){
+} else {
+goto BREAK_label;
+}
 {
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
 }
 var_i = var4;
 if (var_i == NULL) {
 var5 = (var_item == NULL);
 } else {
-var6 = ((short int(*)(val* self, val* p0))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_i, var_item); /* == on <var_i:nullable Object>*/
+var6 = ((short int(*)(val* self, val* p0))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_i, var_item); /* == on <var_i:nullable Object>*/
 var5 = var6;
 }
 if (var5){
@@ -139,15 +142,12 @@ goto RET_LABEL;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
 }
 var = 0;
 goto RET_LABEL;
@@ -155,7 +155,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Collection#first for (self: Collection[nullable Object]): nullable Object */
-val* standard___standard__Collection___first(val* self) {
+val* core___core__Collection___first(val* self) {
 val* var /* : nullable Object */;
 long var1 /* : Int */;
 short int var2 /* : Bool */;
@@ -167,7 +167,7 @@ short int var5 /* : Bool */;
 val* var6 /* : Iterator[nullable Object] */;
 val* var7 /* : nullable Object */;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Collection[nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Collection[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#> (var1,0l) on <var1:Int> */
@@ -175,9 +175,9 @@ var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <0l:Int> isa OTHER */
 var4 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "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);
 }
 var5 = var1 > 0l;
@@ -188,14 +188,14 @@ RET_LABEL3:(void)0;
 }
 if (unlikely(!var2)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 134);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 134);
 fatal_exit(1);
 }
 {
-var6 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(self); /* iterator on <self:Collection[nullable Object]>*/
+var6 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(self); /* iterator on <self:Collection[nullable Object]>*/
 }
 {
-var7 = ((val*(*)(val* self))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var6); /* item on <var6:Iterator[nullable Object]>*/
+var7 = ((val*(*)(val* self))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var6); /* item on <var6:Iterator[nullable Object]>*/
 }
 var = var7;
 goto RET_LABEL;
@@ -203,7 +203,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Collection#has_all for (self: Collection[nullable Object], Collection[nullable Object]): Bool */
-short int standard___standard__Collection___has_all(val* self, val* p0) {
+short int core___core__Collection___has_all(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: Collection[nullable Object] */;
 val* var_ /* var : Collection[nullable Object] */;
@@ -217,20 +217,23 @@ short int var6 /* : Bool */;
 var_other = p0;
 var_ = var_other;
 {
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
 }
 var_2 = var1;
 for(;;) {
 {
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
+var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
 }
 if (var3){
+} else {
+goto BREAK_label;
+}
 {
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
 }
 var_x = var4;
 {
-var5 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__has]))(self, var_x); /* has on <self:Collection[nullable Object]>*/
+var5 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__has]))(self, var_x); /* has on <self:Collection[nullable Object]>*/
 }
 var6 = !var5;
 if (var6){
@@ -239,15 +242,12 @@ goto RET_LABEL;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
 }
 var = 1;
 goto RET_LABEL;
@@ -255,7 +255,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Iterator#iterator for (self: Iterator[nullable Object]): Iterator[nullable Object] */
-val* standard___standard__Iterator___iterator(val* self) {
+val* core___core__Iterator___iterator(val* self) {
 val* var /* : Iterator[nullable Object] */;
 var = self;
 goto RET_LABEL;
@@ -263,17 +263,17 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Iterator#finish for (self: Iterator[nullable Object]) */
-void standard___standard__Iterator___finish(val* self) {
+void core___core__Iterator___finish(val* self) {
 RET_LABEL:;
 }
-/* method abstract_collection#Container#first for (self: Container[nullable Object]): nullable Object */
-val* standard___standard__Container___Collection__first(val* self) {
+/* method abstract_collection#Ref#first for (self: Ref[nullable Object]): nullable Object */
+val* core___core__Ref___Collection__first(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : nullable Object */;
 val* var3 /* : nullable Object */;
 {
-{ /* Inline abstract_collection#Container#item (self) on <self:Container[nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__Container___item].val; /* _item on <self:Container[nullable Object]> */
+{ /* Inline abstract_collection#Ref#item (self) on <self:Ref[nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__Ref___item].val; /* _item on <self:Ref[nullable Object]> */
 var1 = var3;
 RET_LABEL2:(void)0;
 }
@@ -283,24 +283,24 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#is_empty for (self: Container[nullable Object]): Bool */
-short int standard___standard__Container___Collection__is_empty(val* self) {
+/* method abstract_collection#Ref#is_empty for (self: Ref[nullable Object]): Bool */
+short int core___core__Ref___Collection__is_empty(val* self) {
 short int var /* : Bool */;
 var = 0;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#length for (self: Container[nullable Object]): Int */
-long standard___standard__Container___Collection__length(val* self) {
+/* method abstract_collection#Ref#length for (self: Ref[nullable Object]): Int */
+long core___core__Ref___Collection__length(val* self) {
 long var /* : Int */;
 var = 1l;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#has for (self: Container[nullable Object], nullable Object): Bool */
-short int standard___standard__Container___Collection__has(val* self, val* p0) {
+/* method abstract_collection#Ref#has for (self: Ref[nullable Object], nullable Object): Bool */
+short int core___core__Ref___Collection__has(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_an_item /* var an_item: nullable Object */;
 val* var1 /* : nullable Object */;
@@ -309,8 +309,8 @@ short int var4 /* : Bool */;
 short int var5 /* : Bool */;
 var_an_item = p0;
 {
-{ /* Inline abstract_collection#Container#item (self) on <self:Container[nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__Container___item].val; /* _item on <self:Container[nullable Object]> */
+{ /* Inline abstract_collection#Ref#item (self) on <self:Ref[nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__Ref___item].val; /* _item on <self:Ref[nullable Object]> */
 var1 = var3;
 RET_LABEL2:(void)0;
 }
@@ -318,7 +318,7 @@ RET_LABEL2:(void)0;
 if (var1 == NULL) {
 var4 = (var_an_item == NULL);
 } else {
-var5 = ((short int(*)(val* self, val* p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_an_item); /* == on <var1:nullable Object>*/
+var5 = ((short int(*)(val* self, val* p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_an_item); /* == on <var1:nullable Object>*/
 var4 = var5;
 }
 var = var4;
@@ -326,33 +326,33 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#iterator for (self: Container[nullable Object]): Iterator[nullable Object] */
-val* standard___standard__Container___Collection__iterator(val* self) {
+/* method abstract_collection#Ref#iterator for (self: Ref[nullable Object]): Iterator[nullable Object] */
+val* core___core__Ref___Collection__iterator(val* self) {
 val* var /* : Iterator[nullable Object] */;
-val* var1 /* : ContainerIterator[nullable Object] */;
-var1 = NEW_standard__abstract_collection__ContainerIterator(self->type->resolution_table->types[COLOR_standard__abstract_collection__ContainerIterator__standard__Container___35dE]);
+val* var1 /* : RefIterator[nullable Object] */;
+var1 = NEW_core__abstract_collection__RefIterator(self->type->resolution_table->types[COLOR_core__abstract_collection__RefIterator__core__Ref___35dE]);
 {
-((void(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__abstract_collection__ContainerIterator__container_61d]))(var1, self); /* container= on <var1:ContainerIterator[nullable Object]>*/
+((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_collection__RefIterator__container_61d]))(var1, self); /* container= on <var1:RefIterator[nullable Object]>*/
 }
 {
-((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on <var1:ContainerIterator[nullable Object]>*/
+((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:RefIterator[nullable Object]>*/
 }
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#item for (self: Container[nullable Object]): nullable Object */
-val* standard___standard__Container___item(val* self) {
+/* method abstract_collection#Ref#item for (self: Ref[nullable Object]): nullable Object */
+val* core___core__Ref___item(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__Container___item].val; /* _item on <self:Container[nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__Ref___item].val; /* _item on <self:Ref[nullable Object]> */
 var = var1;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#Container#item= for (self: Container[nullable Object], nullable Object) */
-void standard___standard__Container___item_61d(val* self, val* p0) {
+/* method abstract_collection#Ref#item= for (self: Ref[nullable Object], nullable Object) */
+void core___core__Ref___item_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -361,7 +361,7 @@ short int is_nullable;
 const char* var_class_name;
 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
 /* <p0:nullable Object> isa E */
-type_struct = self->type->resolution_table->types[COLOR_standard__Container___35dE];
+type_struct = self->type->resolution_table->types[COLOR_core__Ref___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 is_nullable = type_struct->is_nullable;
@@ -377,34 +377,34 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 309);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 334);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__Container___item].val = p0; /* _item on <self:Container[nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__Ref___item].val = p0; /* _item on <self:Ref[nullable Object]> */
 RET_LABEL:;
 }
-/* method abstract_collection#Container#init for (self: Container[nullable Object]) */
-void standard___standard__Container___standard__kernel__Object__init(val* self) {
+/* method abstract_collection#Ref#init for (self: Ref[nullable Object]) */
+void core___core__Ref___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard___standard__Container___standard__kernel__Object__init]))(self); /* init on <self:Container[nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core___core__Ref___core__kernel__Object__init]))(self); /* init on <self:Ref[nullable Object]>*/
 }
 RET_LABEL:;
 }
-/* method abstract_collection#ContainerIterator#item for (self: ContainerIterator[nullable Object]): nullable Object */
-val* standard__abstract_collection___standard__abstract_collection__ContainerIterator___Iterator__item(val* self) {
+/* method abstract_collection#RefIterator#item for (self: RefIterator[nullable Object]): nullable Object */
+val* core__abstract_collection___core__abstract_collection__RefIterator___Iterator__item(val* self) {
 val* var /* : nullable Object */;
-val* var1 /* : Container[nullable Object] */;
+val* var1 /* : Ref[nullable Object] */;
 val* var2 /* : nullable Object */;
 val* var4 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__ContainerIterator___container].val; /* _container on <self:ContainerIterator[nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__RefIterator___container].val; /* _container on <self:RefIterator[nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _container");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 316);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 341);
 fatal_exit(1);
 }
 {
-{ /* Inline abstract_collection#Container#item (var1) on <var1:Container[nullable Object]> */
-var4 = var1->attrs[COLOR_standard__abstract_collection__Container___item].val; /* _item on <var1:Container[nullable Object]> */
+{ /* Inline abstract_collection#Ref#item (var1) on <var1:Ref[nullable Object]> */
+var4 = var1->attrs[COLOR_core__abstract_collection__Ref___item].val; /* _item on <var1:Ref[nullable Object]> */
 var2 = var4;
 RET_LABEL3:(void)0;
 }
@@ -414,40 +414,40 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#ContainerIterator#next for (self: ContainerIterator[nullable Object]) */
-void standard__abstract_collection___standard__abstract_collection__ContainerIterator___Iterator__next(val* self) {
+/* method abstract_collection#RefIterator#next for (self: RefIterator[nullable Object]) */
+void core__abstract_collection___core__abstract_collection__RefIterator___Iterator__next(val* self) {
 {
-{ /* Inline abstract_collection#ContainerIterator#is_ok= (self,0) on <self:ContainerIterator[nullable Object]> */
-self->attrs[COLOR_standard__abstract_collection__ContainerIterator___is_ok].s = 0; /* _is_ok on <self:ContainerIterator[nullable Object]> */
+{ /* Inline abstract_collection#RefIterator#is_ok= (self,0) on <self:RefIterator[nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__RefIterator___is_ok].s = 0; /* _is_ok on <self:RefIterator[nullable Object]> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method abstract_collection#ContainerIterator#is_ok for (self: ContainerIterator[nullable Object]): Bool */
-short int standard__abstract_collection___standard__abstract_collection__ContainerIterator___Iterator__is_ok(val* self) {
+/* method abstract_collection#RefIterator#is_ok for (self: RefIterator[nullable Object]): Bool */
+short int core__abstract_collection___core__abstract_collection__RefIterator___Iterator__is_ok(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
-var1 = self->attrs[COLOR_standard__abstract_collection__ContainerIterator___is_ok].s; /* _is_ok on <self:ContainerIterator[nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__RefIterator___is_ok].s; /* _is_ok on <self:RefIterator[nullable Object]> */
 var = var1;
 RET_LABEL:;
 return var;
 }
-/* method abstract_collection#ContainerIterator#is_ok= for (self: ContainerIterator[nullable Object], Bool) */
-void standard__abstract_collection___standard__abstract_collection__ContainerIterator___is_ok_61d(val* self, short int p0) {
-self->attrs[COLOR_standard__abstract_collection__ContainerIterator___is_ok].s = p0; /* _is_ok on <self:ContainerIterator[nullable Object]> */
+/* method abstract_collection#RefIterator#is_ok= for (self: RefIterator[nullable Object], Bool) */
+void core__abstract_collection___core__abstract_collection__RefIterator___is_ok_61d(val* self, short int p0) {
+self->attrs[COLOR_core__abstract_collection__RefIterator___is_ok].s = p0; /* _is_ok on <self:RefIterator[nullable Object]> */
 RET_LABEL:;
 }
-/* method abstract_collection#ContainerIterator#container= for (self: ContainerIterator[nullable Object], Container[nullable Object]) */
-void standard__abstract_collection___standard__abstract_collection__ContainerIterator___container_61d(val* self, val* p0) {
+/* method abstract_collection#RefIterator#container= for (self: RefIterator[nullable Object], Ref[nullable Object]) */
+void core__abstract_collection___core__abstract_collection__RefIterator___container_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
 const struct type* type_struct;
 const char* var_class_name;
-/* Covariant cast for argument 0 (container) <p0:Container[nullable Object]> isa Container[E] */
-/* <p0:Container[nullable Object]> isa Container[E] */
-type_struct = self->type->resolution_table->types[COLOR_standard__Container__standard__abstract_collection__ContainerIterator___35dE];
+/* Covariant cast for argument 0 (container) <p0:Ref[nullable Object]> isa Ref[E] */
+/* <p0:Ref[nullable Object]> isa Ref[E] */
+type_struct = self->type->resolution_table->types[COLOR_core__Ref__core__abstract_collection__RefIterator___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= p0->type->table_size) {
@@ -457,40 +457,40 @@ var = p0->type->type_table[cltype] == idtype;
 }
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : p0->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Container[E]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 322);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Ref[E]", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 347);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__ContainerIterator___container].val = p0; /* _container on <self:ContainerIterator[nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__RefIterator___container].val = p0; /* _container on <self:RefIterator[nullable Object]> */
 RET_LABEL:;
 }
-/* method abstract_collection#ContainerIterator#init for (self: ContainerIterator[nullable Object]) */
-void standard__abstract_collection___standard__abstract_collection__ContainerIterator___standard__kernel__Object__init(val* self) {
+/* method abstract_collection#RefIterator#init for (self: RefIterator[nullable Object]) */
+void core__abstract_collection___core__abstract_collection__RefIterator___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard__abstract_collection___standard__abstract_collection__ContainerIterator___standard__kernel__Object__init]))(self); /* init on <self:ContainerIterator[nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core__abstract_collection___core__abstract_collection__RefIterator___core__kernel__Object__init]))(self); /* init on <self:RefIterator[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#RemovableCollection#clear for (self: RemovableCollection[nullable Object]) */
-void standard___standard__RemovableCollection___clear(val* self) {
+void core___core__RemovableCollection___clear(val* self) {
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "clear", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 329);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 354);
 fatal_exit(1);
 RET_LABEL:;
 }
 /* method abstract_collection#RemovableCollection#remove for (self: RemovableCollection[nullable Object], nullable Object) */
-void standard___standard__RemovableCollection___remove(val* self, val* p0) {
+void core___core__RemovableCollection___remove(val* self, val* p0) {
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 338);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 363);
 fatal_exit(1);
 RET_LABEL:;
 }
 /* method abstract_collection#SimpleCollection#add_all for (self: SimpleCollection[nullable Object], Collection[nullable Object]) */
-void standard___standard__SimpleCollection___add_all(val* self, val* p0) {
+void core___core__SimpleCollection___add_all(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -505,7 +505,7 @@ val* var4 /* : nullable Object */;
 val* var_i /* var i: nullable Object */;
 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
 /* <p0:Collection[nullable Object]> isa Collection[E] */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Collection__standard__SimpleCollection___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Collection__core__SimpleCollection___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -516,42 +516,42 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 367);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 392);
 fatal_exit(1);
 }
 var_coll = p0;
 var_ = var_coll;
 {
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[nullable Object]>*/
 }
 var_2 = var1;
 for(;;) {
 {
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
+var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[nullable Object]>*/
 }
 if (var3){
+} else {
+goto BREAK_label;
+}
 {
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[nullable Object]>*/
 }
 var_i = var4;
 {
-((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(self, var_i); /* add on <self:SimpleCollection[nullable Object]>*/
+((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add]))(self, var_i); /* add on <self:SimpleCollection[nullable Object]>*/
 }
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Set#== for (self: Set[nullable Object], nullable Object): Bool */
-short int standard___standard__Set___standard__kernel__Object___61d_61d(val* self, val* p0) {
+short int core___core__Set___core__kernel__Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var1 /* : Bool */;
@@ -566,8 +566,8 @@ short int var8 /* : Bool */;
 short int var9 /* : Bool */;
 var_other = p0;
 /* <var_other:nullable Object> isa Set[nullable Object] */
-cltype = type_standard__Set__nullable__standard__Object.color;
-idtype = type_standard__Set__nullable__standard__Object.id;
+cltype = type_core__Set__nullable__core__Object.color;
+idtype = type_core__Set__nullable__core__Object.id;
 if(var_other == NULL) {
 var1 = 0;
 } else {
@@ -584,10 +584,10 @@ goto RET_LABEL;
 } else {
 }
 {
-var3 = ((long(*)(val* self))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_other); /* length on <var_other:nullable Object(Set[nullable Object])>*/
+var3 = ((long(*)(val* self))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__abstract_collection__Collection__length]))(var_other); /* length on <var_other:nullable Object(Set[nullable Object])>*/
 }
 {
-var4 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Set[nullable Object]>*/
+var4 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Set[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#!= (var3,var4) on <var3:Int> */
@@ -604,7 +604,7 @@ goto RET_LABEL;
 } else {
 }
 {
-var9 = standard___standard__Collection___has_all(self, var_other);
+var9 = core___core__Collection___has_all(self, var_other);
 }
 var = var9;
 goto RET_LABEL;
@@ -612,7 +612,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Set#hash for (self: Set[nullable Object]): Int */
-long standard___standard__Set___standard__kernel__Object__hash(val* self) {
+long core___core__Set___core__kernel__Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
@@ -636,7 +636,7 @@ int idtype15;
 const char* var_class_name16;
 long var17 /* : Int */;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Set[nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Set[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#+ (23l,var1) on <23l:Int> */
@@ -644,9 +644,9 @@ var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <var1:Int> isa OTHER */
 var4 = 1; /* easy <var1:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var5 = 23l + var1;
@@ -658,24 +658,27 @@ RET_LABEL3:(void)0;
 var_res = var2;
 var_ = self;
 {
-var6 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Set[nullable Object]>*/
+var6 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Set[nullable Object]>*/
 }
 var_7 = var6;
 for(;;) {
 {
-var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:Iterator[nullable Object]>*/
+var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:Iterator[nullable Object]>*/
 }
 if (var8){
+} else {
+goto BREAK_label;
+}
 {
-var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:Iterator[nullable Object]>*/
+var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:Iterator[nullable Object]>*/
 }
 var_e = var9;
 if (var_e == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 428);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 454);
 fatal_exit(1);
 } else {
-var10 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_standard__kernel__Object__hash]))(var_e); /* hash on <var_e:nullable Object>*/
+var10 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object__hash]))(var_e); /* hash on <var_e:nullable Object>*/
 }
 {
 { /* Inline kernel#Int#+ (var_res,var10) on <var_res:Int> */
@@ -683,9 +686,9 @@ var10 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e
 /* <var10:Int> isa OTHER */
 var13 = 1; /* easy <var10:Int> isa OTHER*/
 if (unlikely(!var13)) {
-var_class_name16 = type_standard__Int.name;
+var_class_name16 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var17 = var_res + var10;
@@ -696,15 +699,12 @@ RET_LABEL12:(void)0;
 }
 var_res = var11;
 {
-((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:Iterator[nullable Object]>*/
 }
 var = var_res;
 goto RET_LABEL;
@@ -712,18 +712,18 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapRead#get_or_null for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
-val* standard___standard__MapRead___get_or_null(val* self, val* p0) {
+val* core___core__MapRead___get_or_null(val* self, val* p0) {
 val* var /* : nullable Object */;
 val* var_key /* var key: nullable Object */;
 short int var1 /* : Bool */;
 val* var2 /* : nullable Object */;
 var_key = p0;
 {
-var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(self, var_key); /* has_key on <self:MapRead[nullable Object, nullable Object]>*/
+var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__has_key]))(self, var_key); /* has_key on <self:MapRead[nullable Object, nullable Object]>*/
 }
 if (var1){
 {
-var2 = ((val*(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(self, var_key); /* [] on <self:MapRead[nullable Object, nullable Object]>*/
+var2 = ((val*(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead___91d_93d]))(self, var_key); /* [] on <self:MapRead[nullable Object, nullable Object]>*/
 }
 var = var2;
 goto RET_LABEL;
@@ -735,18 +735,18 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapRead#provide_default_value for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
-val* standard___standard__MapRead___provide_default_value(val* self, val* p0) {
+val* core___core__MapRead___provide_default_value(val* self, val* p0) {
 val* var /* : nullable Object */;
 val* var_key /* var key: nullable Object */;
 var_key = p0;
 PRINT_ERROR("Runtime error: %s", "Aborted");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 552);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 590);
 fatal_exit(1);
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapRead#== for (self: MapRead[nullable Object, nullable Object], nullable Object): Bool */
-short int standard___standard__MapRead___standard__kernel__Object___61d_61d(val* self, val* p0) {
+short int core___core__MapRead___core__kernel__Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var1 /* : Bool */;
@@ -773,8 +773,8 @@ short int var17 /* : Bool */;
 short int var18 /* : Bool */;
 var_other = p0;
 /* <var_other:nullable Object> isa MapRead[nullable Object, nullable Object] */
-cltype = type_standard__MapRead__nullable__standard__Object__nullable__standard__Object.color;
-idtype = type_standard__MapRead__nullable__standard__Object__nullable__standard__Object.id;
+cltype = type_core__MapRead__nullable__core__Object__nullable__core__Object.color;
+idtype = type_core__MapRead__nullable__core__Object__nullable__core__Object.id;
 if(var_other == NULL) {
 var1 = 0;
 } else {
@@ -791,10 +791,10 @@ goto RET_LABEL;
 } else {
 }
 {
-var3 = ((long(*)(val* self))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__abstract_collection__MapRead__length]))(var_other); /* length on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
+var3 = ((long(*)(val* self))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__abstract_collection__MapRead__length]))(var_other); /* length on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
 }
 {
-var4 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__MapRead__length]))(self); /* length on <self:MapRead[nullable Object, nullable Object]>*/
+var4 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__length]))(self); /* length on <self:MapRead[nullable Object, nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#!= (var3,var4) on <var3:Int> */
@@ -812,24 +812,27 @@ goto RET_LABEL;
 }
 var_ = self;
 {
-var9 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
+var9 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
 }
 var_10 = var9;
 for(;;) {
 {
-var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_10); /* is_ok on <var_10:MapIterator[nullable Object, nullable Object]>*/
+var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var_10); /* is_ok on <var_10:MapIterator[nullable Object, nullable Object]>*/
 }
 if (var11){
+} else {
+goto BREAK_label;
+}
 {
-var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var_10); /* key on <var_10:MapIterator[nullable Object, nullable Object]>*/
+var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var_10); /* key on <var_10:MapIterator[nullable Object, nullable Object]>*/
 }
 var_k = var12;
 {
-var13 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var_10); /* item on <var_10:MapIterator[nullable Object, nullable Object]>*/
+var13 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var_10); /* item on <var_10:MapIterator[nullable Object, nullable Object]>*/
 }
 var_v = var13;
 {
-var14 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var_other, var_k); /* has_key on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
+var14 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__abstract_collection__MapRead__has_key]))(var_other, var_k); /* has_key on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
 }
 var15 = !var14;
 if (var15){
@@ -838,12 +841,12 @@ goto RET_LABEL;
 } else {
 }
 {
-var16 = ((val*(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var_other, var_k); /* [] on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
+var16 = ((val*(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__abstract_collection__MapRead___91d_93d]))(var_other, var_k); /* [] on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
 }
 if (var16 == NULL) {
 var17 = (var_v != NULL);
 } else {
-var18 = ((short int(*)(val* self, val* p0))((((long)var16&3)?class_info[((long)var16&3)]:var16->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var16, var_v); /* != on <var16:nullable Object>*/
+var18 = ((short int(*)(val* self, val* p0))((((long)var16&3)?class_info[((long)var16&3)]:var16->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var16, var_v); /* != on <var16:nullable Object>*/
 var17 = var18;
 }
 if (var17){
@@ -852,10 +855,7 @@ goto RET_LABEL;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var_10); /* next on <var_10:MapIterator[nullable Object, nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var_10); /* next on <var_10:MapIterator[nullable Object, nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
@@ -870,7 +870,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapRead#hash for (self: MapRead[nullable Object, nullable Object]): Int */
-long standard___standard__MapRead___standard__kernel__Object__hash(val* self) {
+long core___core__MapRead___core__kernel__Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var_res /* var res: Int */;
@@ -913,25 +913,28 @@ int idtype35;
 const char* var_class_name36;
 long var37 /* : Int */;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__MapRead__length]))(self); /* length on <self:MapRead[nullable Object, nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__length]))(self); /* length on <self:MapRead[nullable Object, nullable Object]>*/
 }
 var_res = var1;
 var_ = self;
 {
-var2 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
+var2 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
 }
 var_3 = var2;
 for(;;) {
 {
-var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_3); /* is_ok on <var_3:MapIterator[nullable Object, nullable Object]>*/
+var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var_3); /* is_ok on <var_3:MapIterator[nullable Object, nullable Object]>*/
 }
 if (var4){
+} else {
+goto BREAK_label;
+}
 {
-var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var_3); /* key on <var_3:MapIterator[nullable Object, nullable Object]>*/
+var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var_3); /* key on <var_3:MapIterator[nullable Object, nullable Object]>*/
 }
 var_k = var5;
 {
-var6 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var_3); /* item on <var_3:MapIterator[nullable Object, nullable Object]>*/
+var6 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var_3); /* item on <var_3:MapIterator[nullable Object, nullable Object]>*/
 }
 var_v = var6;
 if (var_k == NULL) {
@@ -940,12 +943,12 @@ var7 = 0; /* is null */
 var7 = 1; /* arg is null and recv is not */
 }
 if (0) {
-var8 = ((short int(*)(val* self, val* p0))((((long)var_k&3)?class_info[((long)var_k&3)]:var_k->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_k, ((val*)NULL)); /* != on <var_k:nullable Object>*/
+var8 = ((short int(*)(val* self, val* p0))((((long)var_k&3)?class_info[((long)var_k&3)]:var_k->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_k, ((val*)NULL)); /* != on <var_k:nullable Object>*/
 var7 = var8;
 }
 if (var7){
 {
-var9 = ((long(*)(val* self))((((long)var_k&3)?class_info[((long)var_k&3)]:var_k->class)->vft[COLOR_standard__kernel__Object__hash]))(var_k); /* hash on <var_k:nullable Object(Object)>*/
+var9 = ((long(*)(val* self))((((long)var_k&3)?class_info[((long)var_k&3)]:var_k->class)->vft[COLOR_core__kernel__Object__hash]))(var_k); /* hash on <var_k:nullable Object(Object)>*/
 }
 {
 { /* Inline kernel#Int#* (var9,7l) on <var9:Int> */
@@ -953,9 +956,9 @@ var9 = ((long(*)(val* self))((((long)var_k&3)?class_info[((long)var_k&3)]:var_k-
 /* <7l:Int> isa OTHER */
 var12 = 1; /* easy <7l:Int> isa OTHER*/
 if (unlikely(!var12)) {
-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, 541);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735);
 fatal_exit(1);
 }
 var13 = var9 * 7l;
@@ -970,9 +973,9 @@ RET_LABEL11:(void)0;
 /* <var10:Int> isa OTHER */
 var16 = 1; /* easy <var10:Int> isa OTHER*/
 if (unlikely(!var16)) {
-var_class_name19 = type_standard__Int.name;
+var_class_name19 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var20 = var_res + var10;
@@ -990,12 +993,12 @@ var21 = 0; /* is null */
 var21 = 1; /* arg is null and recv is not */
 }
 if (0) {
-var22 = ((short int(*)(val* self, val* p0))((((long)var_v&3)?class_info[((long)var_v&3)]:var_v->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_v, ((val*)NULL)); /* != on <var_v:nullable Object>*/
+var22 = ((short int(*)(val* self, val* p0))((((long)var_v&3)?class_info[((long)var_v&3)]:var_v->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_v, ((val*)NULL)); /* != on <var_v:nullable Object>*/
 var21 = var22;
 }
 if (var21){
 {
-var23 = ((long(*)(val* self))((((long)var_v&3)?class_info[((long)var_v&3)]:var_v->class)->vft[COLOR_standard__kernel__Object__hash]))(var_v); /* hash on <var_v:nullable Object(Object)>*/
+var23 = ((long(*)(val* self))((((long)var_v&3)?class_info[((long)var_v&3)]:var_v->class)->vft[COLOR_core__kernel__Object__hash]))(var_v); /* hash on <var_v:nullable Object(Object)>*/
 }
 {
 { /* Inline kernel#Int#* (var23,11l) on <var23:Int> */
@@ -1003,9 +1006,9 @@ var23 = ((long(*)(val* self))((((long)var_v&3)?class_info[((long)var_v&3)]:var_v
 /* <11l:Int> isa OTHER */
 var26 = 1; /* easy <11l:Int> isa OTHER*/
 if (unlikely(!var26)) {
-var_class_name29 = type_standard__Int.name;
+var_class_name29 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735);
 fatal_exit(1);
 }
 var30 = var23 * 11l;
@@ -1020,9 +1023,9 @@ RET_LABEL25:(void)0;
 /* <var24:Int> isa OTHER */
 var33 = 1; /* easy <var24:Int> isa OTHER*/
 if (unlikely(!var33)) {
-var_class_name36 = type_standard__Int.name;
+var_class_name36 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var37 = var_res + var24;
@@ -1035,10 +1038,7 @@ var_res = var31;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var_3); /* next on <var_3:MapIterator[nullable Object, nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var_3); /* next on <var_3:MapIterator[nullable Object, nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
@@ -1053,17 +1053,17 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapIterator#finish for (self: MapIterator[nullable Object, nullable Object]) */
-void standard___standard__MapIterator___finish(val* self) {
+void core___core__MapIterator___finish(val* self) {
 RET_LABEL:;
 }
 /* method abstract_collection#MapKeysIterator#original_iterator for (self: MapKeysIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
-val* standard___standard__MapKeysIterator___original_iterator(val* self) {
+val* core___core__MapKeysIterator___original_iterator(val* self) {
 val* var /* : MapIterator[nullable Object, nullable Object] */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
-var1 = self->attrs[COLOR_standard__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 715);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 763);
 fatal_exit(1);
 }
 var = var1;
@@ -1071,7 +1071,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapKeysIterator#original_iterator= for (self: MapKeysIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
-void standard___standard__MapKeysIterator___original_iterator_61d(val* self, val* p0) {
+void core___core__MapKeysIterator___original_iterator_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -1079,7 +1079,7 @@ const struct type* type_struct;
 const char* var_class_name;
 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
-type_struct = self->type->resolution_table->types[COLOR_standard__MapIterator__standard__MapKeysIterator___35dK__standard__MapKeysIterator___35dV];
+type_struct = self->type->resolution_table->types[COLOR_core__MapIterator__core__MapKeysIterator___35dK__core__MapKeysIterator___35dV];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1090,24 +1090,24 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 715);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 763);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__MapKeysIterator___original_iterator].val = p0; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__MapKeysIterator___original_iterator].val = p0; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
 RET_LABEL:;
 }
 /* method abstract_collection#MapKeysIterator#is_ok for (self: MapKeysIterator[nullable Object, nullable Object]): Bool */
-short int standard___standard__MapKeysIterator___Iterator__is_ok(val* self) {
+short int core___core__MapKeysIterator___Iterator__is_ok(val* self) {
 short int var /* : Bool */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
 val* var3 /* : MapIterator[nullable Object, nullable Object] */;
 short int var4 /* : Bool */;
 {
 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 715);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 763);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1115,7 +1115,7 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var1); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
+var4 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var1); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
 }
 var = var4;
 goto RET_LABEL;
@@ -1123,15 +1123,15 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapKeysIterator#next for (self: MapKeysIterator[nullable Object, nullable Object]) */
-void standard___standard__MapKeysIterator___Iterator__next(val* self) {
+void core___core__MapKeysIterator___Iterator__next(val* self) {
 val* var /* : MapIterator[nullable Object, nullable Object] */;
 val* var2 /* : MapIterator[nullable Object, nullable Object] */;
 {
 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
-var2 = self->attrs[COLOR_standard__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
+var2 = self->attrs[COLOR_core__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 715);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 763);
 fatal_exit(1);
 }
 var = var2;
@@ -1139,22 +1139,22 @@ RET_LABEL1:(void)0;
 }
 }
 {
-((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#MapKeysIterator#item for (self: MapKeysIterator[nullable Object, nullable Object]): nullable Object */
-val* standard___standard__MapKeysIterator___Iterator__item(val* self) {
+val* core___core__MapKeysIterator___Iterator__item(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
 val* var3 /* : MapIterator[nullable Object, nullable Object] */;
 val* var4 /* : nullable Object */;
 {
 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__MapKeysIterator___original_iterator].val; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 715);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 763);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1162,7 +1162,7 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var1); /* key on <var1:MapIterator[nullable Object, nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var1); /* key on <var1:MapIterator[nullable Object, nullable Object]>*/
 }
 var = var4;
 goto RET_LABEL;
@@ -1170,20 +1170,20 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapKeysIterator#init for (self: MapKeysIterator[nullable Object, nullable Object]) */
-void standard___standard__MapKeysIterator___standard__kernel__Object__init(val* self) {
+void core___core__MapKeysIterator___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard___standard__MapKeysIterator___standard__kernel__Object__init]))(self); /* init on <self:MapKeysIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core___core__MapKeysIterator___core__kernel__Object__init]))(self); /* init on <self:MapKeysIterator[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#MapValuesIterator#original_iterator for (self: MapValuesIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
-val* standard___standard__MapValuesIterator___original_iterator(val* self) {
+val* core___core__MapValuesIterator___original_iterator(val* self) {
 val* var /* : MapIterator[nullable Object, nullable Object] */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
-var1 = self->attrs[COLOR_standard__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 726);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 774);
 fatal_exit(1);
 }
 var = var1;
@@ -1191,7 +1191,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapValuesIterator#original_iterator= for (self: MapValuesIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
-void standard___standard__MapValuesIterator___original_iterator_61d(val* self, val* p0) {
+void core___core__MapValuesIterator___original_iterator_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -1199,7 +1199,7 @@ const struct type* type_struct;
 const char* var_class_name;
 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
-type_struct = self->type->resolution_table->types[COLOR_standard__MapIterator__standard__MapValuesIterator___35dK__standard__MapValuesIterator___35dV];
+type_struct = self->type->resolution_table->types[COLOR_core__MapIterator__core__MapValuesIterator___35dK__core__MapValuesIterator___35dV];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1210,24 +1210,24 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 726);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 774);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__MapValuesIterator___original_iterator].val = p0; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__MapValuesIterator___original_iterator].val = p0; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
 RET_LABEL:;
 }
 /* method abstract_collection#MapValuesIterator#is_ok for (self: MapValuesIterator[nullable Object, nullable Object]): Bool */
-short int standard___standard__MapValuesIterator___Iterator__is_ok(val* self) {
+short int core___core__MapValuesIterator___Iterator__is_ok(val* self) {
 short int var /* : Bool */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
 val* var3 /* : MapIterator[nullable Object, nullable Object] */;
 short int var4 /* : Bool */;
 {
 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 726);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 774);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1235,7 +1235,7 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var1); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
+var4 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var1); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
 }
 var = var4;
 goto RET_LABEL;
@@ -1243,15 +1243,15 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapValuesIterator#next for (self: MapValuesIterator[nullable Object, nullable Object]) */
-void standard___standard__MapValuesIterator___Iterator__next(val* self) {
+void core___core__MapValuesIterator___Iterator__next(val* self) {
 val* var /* : MapIterator[nullable Object, nullable Object] */;
 val* var2 /* : MapIterator[nullable Object, nullable Object] */;
 {
 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
-var2 = self->attrs[COLOR_standard__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
+var2 = self->attrs[COLOR_core__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 726);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 774);
 fatal_exit(1);
 }
 var = var2;
@@ -1259,22 +1259,22 @@ RET_LABEL1:(void)0;
 }
 }
 {
-((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#MapValuesIterator#item for (self: MapValuesIterator[nullable Object, nullable Object]): nullable Object */
-val* standard___standard__MapValuesIterator___Iterator__item(val* self) {
+val* core___core__MapValuesIterator___Iterator__item(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : MapIterator[nullable Object, nullable Object] */;
 val* var3 /* : MapIterator[nullable Object, nullable Object] */;
 val* var4 /* : nullable Object */;
 {
 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
-var3 = self->attrs[COLOR_standard__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
+var3 = self->attrs[COLOR_core__abstract_collection__MapValuesIterator___original_iterator].val; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 726);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 774);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1282,7 +1282,7 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var1); /* item on <var1:MapIterator[nullable Object, nullable Object]>*/
+var4 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var1); /* item on <var1:MapIterator[nullable Object, nullable Object]>*/
 }
 var = var4;
 goto RET_LABEL;
@@ -1290,29 +1290,29 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#MapValuesIterator#init for (self: MapValuesIterator[nullable Object, nullable Object]) */
-void standard___standard__MapValuesIterator___standard__kernel__Object__init(val* self) {
+void core___core__MapValuesIterator___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard___standard__MapValuesIterator___standard__kernel__Object__init]))(self); /* init on <self:MapValuesIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core___core__MapValuesIterator___core__kernel__Object__init]))(self); /* init on <self:MapValuesIterator[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#SequenceRead#first for (self: SequenceRead[nullable Object]): nullable Object */
-val* standard___standard__SequenceRead___Collection__first(val* self) {
+val* core___core__SequenceRead___Collection__first(val* self) {
 val* var /* : nullable Object */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
 val* var3 /* : nullable Object */;
 {
-var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:SequenceRead[nullable Object]>*/
+var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:SequenceRead[nullable Object]>*/
 }
 var2 = !var1;
 if (unlikely(!var2)) {
 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 751);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 799);
 fatal_exit(1);
 }
 {
-var3 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(self, 0l); /* [] on <self:SequenceRead[nullable Object]>*/
+var3 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(self, 0l); /* [] on <self:SequenceRead[nullable Object]>*/
 }
 var = var3;
 goto RET_LABEL;
@@ -1320,7 +1320,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#last for (self: SequenceRead[nullable Object]): nullable Object */
-val* standard___standard__SequenceRead___last(val* self) {
+val* core___core__SequenceRead___last(val* self) {
 val* var /* : nullable Object */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
@@ -1333,16 +1333,16 @@ const char* var_class_name;
 long var7 /* : Int */;
 val* var8 /* : nullable Object */;
 {
-var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:SequenceRead[nullable Object]>*/
+var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(self); /* is_empty on <self:SequenceRead[nullable Object]>*/
 }
 var2 = !var1;
 if (unlikely(!var2)) {
 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 776);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 862);
 fatal_exit(1);
 }
 {
-var3 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
+var3 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#- (var3,1l) on <var3:Int> */
@@ -1350,9 +1350,9 @@ var3 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <1l:Int> isa OTHER */
 var6 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var6)) {
-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, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var7 = var3 - 1l;
@@ -1362,7 +1362,7 @@ RET_LABEL5:(void)0;
 }
 }
 {
-var8 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(self, var4); /* [] on <self:SequenceRead[nullable Object]>*/
+var8 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(self, var4); /* [] on <self:SequenceRead[nullable Object]>*/
 }
 var = var8;
 goto RET_LABEL;
@@ -1370,13 +1370,13 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
-long standard___standard__SequenceRead___index_of(val* self, val* p0) {
+long core___core__SequenceRead___index_of(val* self, val* p0) {
 long var /* : Int */;
 val* var_item /* var item: nullable Object */;
 long var1 /* : Int */;
 var_item = p0;
 {
-var1 = ((long(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SequenceRead__index_of_from]))(self, var_item, 0l); /* index_of_from on <self:SequenceRead[nullable Object]>*/
+var1 = ((long(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead__index_of_from]))(self, var_item, 0l); /* index_of_from on <self:SequenceRead[nullable Object]>*/
 }
 var = var1;
 goto RET_LABEL;
@@ -1384,7 +1384,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#last_index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
-long standard___standard__SequenceRead___last_index_of(val* self, val* p0) {
+long core___core__SequenceRead___last_index_of(val* self, val* p0) {
 long var /* : Int */;
 val* var_item /* var item: nullable Object */;
 long var1 /* : Int */;
@@ -1397,7 +1397,7 @@ long var5 /* : Int */;
 long var6 /* : Int */;
 var_item = p0;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
@@ -1405,9 +1405,9 @@ var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <1l:Int> isa OTHER */
 var4 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var5 = var1 - 1l;
@@ -1417,7 +1417,7 @@ RET_LABEL3:(void)0;
 }
 }
 {
-var6 = ((long(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SequenceRead__last_index_of_from]))(self, var_item, var2); /* last_index_of_from on <self:SequenceRead[nullable Object]>*/
+var6 = ((long(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead__last_index_of_from]))(self, var_item, var2); /* last_index_of_from on <self:SequenceRead[nullable Object]>*/
 }
 var = var6;
 goto RET_LABEL;
@@ -1425,7 +1425,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
-long standard___standard__SequenceRead___index_of_from(val* self, val* p0, long p1) {
+long core___core__SequenceRead___index_of_from(val* self, val* p0, long p1) {
 long var /* : Int */;
 val* var_item /* var item: nullable Object */;
 long var_pos /* var pos: Int */;
@@ -1457,12 +1457,12 @@ var_item = p0;
 var_pos = p1;
 var_p = 0l;
 {
-var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(self); /* iterator on <self:SequenceRead[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(self); /* iterator on <self:SequenceRead[nullable Object]>*/
 }
 var_i = var1;
 for(;;) {
 {
-var2 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on <var_i:IndexedIterator[nullable Object]>*/
+var2 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on <var_i:IndexedIterator[nullable Object]>*/
 }
 if (var2){
 {
@@ -1471,9 +1471,9 @@ if (var2){
 /* <var_pos:Int> isa OTHER */
 var6 = 1; /* easy <var_pos:Int> isa OTHER*/
 if (unlikely(!var6)) {
-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, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var7 = var_p >= var_pos;
@@ -1485,12 +1485,12 @@ RET_LABEL5:(void)0;
 var_ = var4;
 if (var4){
 {
-var8 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_i); /* item on <var_i:IndexedIterator[nullable Object]>*/
+var8 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_i); /* item on <var_i:IndexedIterator[nullable Object]>*/
 }
 if (var8 == NULL) {
 var9 = (var_item == NULL);
 } else {
-var10 = ((short int(*)(val* self, val* p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var8, var_item); /* == on <var8:nullable Object>*/
+var10 = ((short int(*)(val* self, val* p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var8, var_item); /* == on <var8:nullable Object>*/
 var9 = var10;
 }
 var3 = var9;
@@ -1499,14 +1499,14 @@ var3 = var_;
 }
 if (var3){
 {
-var11 = ((long(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__IndexedIterator__index]))(var_i); /* index on <var_i:IndexedIterator[nullable Object]>*/
+var11 = ((long(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__IndexedIterator__index]))(var_i); /* index on <var_i:IndexedIterator[nullable Object]>*/
 }
 var = var11;
 goto RET_LABEL;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_i); /* next on <var_i:IndexedIterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_i); /* next on <var_i:IndexedIterator[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#+ (var_p,1l) on <var_p:Int> */
@@ -1514,9 +1514,9 @@ goto RET_LABEL;
 /* <1l:Int> isa OTHER */
 var14 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var14)) {
-var_class_name17 = type_standard__Int.name;
+var_class_name17 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var18 = var_p + 1l;
@@ -1545,120 +1545,102 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#last_index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
-long standard___standard__SequenceRead___last_index_of_from(val* self, val* p0, long p1) {
+long core___core__SequenceRead___last_index_of_from(val* self, val* p0, long p1) {
 long var /* : Int */;
 val* var_item /* var item: nullable Object */;
 long var_pos /* var pos: Int */;
-long var1 /* : Int */;
-long var3 /* : Int */;
-long var_res /* var res: Int */;
-long var_p /* var p: Int */;
-val* var4 /* : Iterator[nullable Object] */;
-val* var_i /* var i: IndexedIterator[nullable Object] */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-short int var8 /* : Bool */;
+long var_i /* var i: Int */;
+short int var1 /* : Bool */;
+short int var3 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var9 /* : Bool */;
-val* var10 /* : nullable Object */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-long var13 /* : Int */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-long var19 /* : Int */;
+short int var4 /* : Bool */;
+val* var5 /* : nullable Object */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+long var8 /* : Int */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+const char* var_class_name13;
+long var14 /* : Int */;
+long var15 /* : Int */;
+long var17 /* : Int */;
 var_item = p0;
 var_pos = p1;
-{
-{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
-var3 = -1l;
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-var_res = var1;
-var_p = 0l;
-{
-var4 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(self); /* iterator on <self:SequenceRead[nullable Object]>*/
-}
-var_i = var4;
+var_i = var_pos;
 for(;;) {
 {
-var5 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on <var_i:IndexedIterator[nullable Object]>*/
-}
-if (var5){
-{
-{ /* Inline kernel#Int#> (var_p,var_pos) on <var_p:Int> */
-/* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
-/* <var_pos:Int> isa OTHER */
-var8 = 1; /* easy <var_pos:Int> isa OTHER*/
-if (unlikely(!var8)) {
-var_class_name = type_standard__Int.name;
+{ /* Inline kernel#Int#>= (var_i,0l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var3 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var3)) {
+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, 729);
 fatal_exit(1);
 }
-var9 = var_p > var_pos;
-var6 = var9;
-goto RET_LABEL7;
-RET_LABEL7:(void)0;
-}
+var4 = var_i >= 0l;
+var1 = var4;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
 }
-if (var6){
-goto BREAK_label;
-} else {
 }
+if (var1){
 {
-var10 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_i); /* item on <var_i:IndexedIterator[nullable Object]>*/
+var5 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(self, var_i); /* [] on <self:SequenceRead[nullable Object]>*/
 }
-if (var10 == NULL) {
-var11 = (var_item == NULL);
+if (var5 == NULL) {
+var6 = (var_item == NULL);
 } else {
-var12 = ((short int(*)(val* self, val* p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_item); /* == on <var10:nullable Object>*/
-var11 = var12;
+var7 = ((short int(*)(val* self, val* p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var5, var_item); /* == on <var5:nullable Object>*/
+var6 = var7;
 }
-if (var11){
-var_res = var_p;
+if (var6){
+var = var_i;
+goto RET_LABEL;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_i); /* next on <var_i:IndexedIterator[nullable Object]>*/
-}
-{
-{ /* Inline kernel#Int#+ (var_p,1l) on <var_p:Int> */
+{ /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
 /* <1l:Int> isa OTHER */
-var15 = 1; /* easy <1l:Int> isa OTHER*/
-if (unlikely(!var15)) {
-var_class_name18 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+var10 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var10)) {
+var_class_name13 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
-var19 = var_p + 1l;
-var13 = var19;
-goto RET_LABEL14;
-RET_LABEL14:(void)0;
+var14 = var_i - 1l;
+var8 = var14;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
 }
 }
-var_p = var13;
+var_i = var8;
 } else {
 goto BREAK_label;
 }
 }
 BREAK_label: (void)0;
-var = var_res;
+{
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var17 = -1l;
+var15 = var17;
+goto RET_LABEL16;
+RET_LABEL16:(void)0;
+}
+}
+var = var15;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#== for (self: SequenceRead[nullable Object], nullable Object): Bool */
-short int standard___standard__SequenceRead___standard__kernel__Object___61d_61d(val* self, val* p0) {
+short int core___core__SequenceRead___core__kernel__Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_o /* var o: nullable Object */;
 short int var1 /* : Bool */;
@@ -1690,8 +1672,8 @@ const char* var_class_name24;
 long var25 /* : Int */;
 var_o = p0;
 /* <var_o:nullable Object> isa SequenceRead[nullable Object] */
-cltype = type_standard__SequenceRead__nullable__standard__Object.color;
-idtype = type_standard__SequenceRead__nullable__standard__Object.id;
+cltype = type_core__SequenceRead__nullable__core__Object.color;
+idtype = type_core__SequenceRead__nullable__core__Object.id;
 if(var_o == NULL) {
 var1 = 0;
 } else {
@@ -1708,11 +1690,11 @@ goto RET_LABEL;
 } else {
 }
 {
-var3 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
+var3 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
 }
 var_l = var3;
 {
-var4 = ((long(*)(val* self))((((long)var_o&3)?class_info[((long)var_o&3)]:var_o->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_o); /* length on <var_o:nullable Object(SequenceRead[nullable Object])>*/
+var4 = ((long(*)(val* self))((((long)var_o&3)?class_info[((long)var_o&3)]:var_o->class)->vft[COLOR_core__abstract_collection__Collection__length]))(var_o); /* length on <var_o:nullable Object(SequenceRead[nullable Object])>*/
 }
 {
 { /* Inline kernel#Int#!= (var4,var_l) on <var4:Int> */
@@ -1736,9 +1718,9 @@ for(;;) {
 /* <var_l:Int> isa OTHER */
 var11 = 1; /* easy <var_l:Int> isa OTHER*/
 if (unlikely(!var11)) {
-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, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var14 = var_i < var_l;
@@ -1749,15 +1731,15 @@ RET_LABEL10:(void)0;
 }
 if (var9){
 {
-var15 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(self, var_i); /* [] on <self:SequenceRead[nullable Object]>*/
+var15 = ((val*(*)(val* self, long p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(self, var_i); /* [] on <self:SequenceRead[nullable Object]>*/
 }
 {
-var16 = ((val*(*)(val* self, long p0))((((long)var_o&3)?class_info[((long)var_o&3)]:var_o->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var_o, var_i); /* [] on <var_o:nullable Object(SequenceRead[nullable Object])>*/
+var16 = ((val*(*)(val* self, long p0))((((long)var_o&3)?class_info[((long)var_o&3)]:var_o->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var_o, var_i); /* [] on <var_o:nullable Object(SequenceRead[nullable Object])>*/
 }
 if (var15 == NULL) {
 var17 = (var16 != NULL);
 } else {
-var18 = ((short int(*)(val* self, val* p0))((((long)var15&3)?class_info[((long)var15&3)]:var15->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var15, var16); /* != on <var15:nullable Object>*/
+var18 = ((short int(*)(val* self, val* p0))((((long)var15&3)?class_info[((long)var15&3)]:var15->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var15, var16); /* != on <var15:nullable Object>*/
 var17 = var18;
 }
 if (var17){
@@ -1771,9 +1753,9 @@ goto RET_LABEL;
 /* <1l:Int> isa OTHER */
 var21 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var21)) {
-var_class_name24 = type_standard__Int.name;
+var_class_name24 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var25 = var_i + 1l;
@@ -1794,7 +1776,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#hash for (self: SequenceRead[nullable Object]): Int */
-long standard___standard__SequenceRead___standard__kernel__Object__hash(val* self) {
+long core___core__SequenceRead___core__kernel__Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
@@ -1832,7 +1814,7 @@ int idtype31;
 const char* var_class_name32;
 long var33 /* : Int */;
 {
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:SequenceRead[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#+ (17l,var1) on <17l:Int> */
@@ -1840,9 +1822,9 @@ var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <var1:Int> isa OTHER */
 var4 = 1; /* easy <var1:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var5 = 17l + var1;
@@ -1854,16 +1836,19 @@ RET_LABEL3:(void)0;
 var_res = var2;
 var_ = self;
 {
-var6 = ((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[nullable Object]>*/
+var6 = ((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[nullable Object]>*/
 }
 var_7 = var6;
 for(;;) {
 {
-var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:IndexedIterator[nullable Object]>*/
+var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:IndexedIterator[nullable Object]>*/
 }
 if (var8){
+} else {
+goto BREAK_label;
+}
 {
-var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:IndexedIterator[nullable Object]>*/
+var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:IndexedIterator[nullable Object]>*/
 }
 var_e = var9;
 {
@@ -1872,9 +1857,9 @@ var_e = var9;
 /* <3l:Int> isa OTHER */
 var12 = 1; /* easy <3l:Int> isa OTHER*/
 if (unlikely(!var12)) {
-var_class_name15 = type_standard__Int.name;
+var_class_name15 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735);
 fatal_exit(1);
 }
 var16 = var_res * 3l;
@@ -1889,9 +1874,9 @@ RET_LABEL11:(void)0;
 /* <2l:Int> isa OTHER */
 var19 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var19)) {
-var_class_name22 = type_standard__Int.name;
+var_class_name22 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var23 = var10 / 2l;
@@ -1907,12 +1892,12 @@ var24 = 0; /* is null */
 var24 = 1; /* arg is null and recv is not */
 }
 if (0) {
-var25 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on <var_e:nullable Object>*/
+var25 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on <var_e:nullable Object>*/
 var24 = var25;
 }
 if (var24){
 {
-var26 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_standard__kernel__Object__hash]))(var_e); /* hash on <var_e:nullable Object(Object)>*/
+var26 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object__hash]))(var_e); /* hash on <var_e:nullable Object(Object)>*/
 }
 {
 { /* Inline kernel#Int#+ (var_res,var26) on <var_res:Int> */
@@ -1920,9 +1905,9 @@ var26 = ((long(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e
 /* <var26:Int> isa OTHER */
 var29 = 1; /* easy <var26:Int> isa OTHER*/
 if (unlikely(!var29)) {
-var_class_name32 = type_standard__Int.name;
+var_class_name32 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var33 = var_res + var26;
@@ -1935,15 +1920,12 @@ var_res = var27;
 } else {
 }
 {
-((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:IndexedIterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:IndexedIterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:IndexedIterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:IndexedIterator[nullable Object]>*/
 }
 var = var_res;
 goto RET_LABEL;
@@ -1951,7 +1933,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#SequenceRead#iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
-val* standard___standard__SequenceRead___iterator_from(val* self, long p0) {
+val* core___core__SequenceRead___iterator_from(val* self, long p0) {
 val* var /* : IndexedIterator[nullable Object] */;
 long var_pos /* var pos: Int */;
 val* var1 /* : Iterator[nullable Object] */;
@@ -1973,7 +1955,7 @@ const char* var_class_name13;
 long var14 /* : Int */;
 var_pos = p0;
 {
-var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(self); /* iterator on <self:SequenceRead[nullable Object]>*/
+var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(self); /* iterator on <self:SequenceRead[nullable Object]>*/
 }
 var_res = var1;
 for(;;) {
@@ -1983,9 +1965,9 @@ for(;;) {
 /* <0l:Int> isa OTHER */
 var5 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var5)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var6 = var_pos > 0l;
@@ -1997,7 +1979,7 @@ RET_LABEL4:(void)0;
 var_ = var3;
 if (var3){
 {
-var7 = ((short int(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_res); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
+var7 = ((short int(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_res); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
 }
 var2 = var7;
 } else {
@@ -2005,7 +1987,7 @@ var2 = var_;
 }
 if (var2){
 {
-((void(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_res); /* next on <var_res:IndexedIterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_res); /* next on <var_res:IndexedIterator[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
@@ -2013,9 +1995,105 @@ if (var2){
 /* <1l:Int> isa OTHER */
 var10 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var10)) {
-var_class_name13 = type_standard__Int.name;
+var_class_name13 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
+fatal_exit(1);
+}
+var14 = var_pos - 1l;
+var8 = var14;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
+}
+}
+var_pos = var8;
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_collection#SequenceRead#reverse_iterator for (self: SequenceRead[nullable Object]): IndexedIterator[nullable Object] */
+val* core___core__SequenceRead___reverse_iterator(val* self) {
+val* var /* : IndexedIterator[nullable Object] */;
+const char* var_class_name;
+var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
+PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "reverse_iterator", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 972);
+fatal_exit(1);
+RET_LABEL:;
+return var;
+}
+/* method abstract_collection#SequenceRead#reverse_iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
+val* core___core__SequenceRead___reverse_iterator_from(val* self, long p0) {
+val* var /* : IndexedIterator[nullable Object] */;
+long var_pos /* var pos: Int */;
+val* var1 /* : IndexedIterator[nullable Object] */;
+val* var_res /* var res: IndexedIterator[nullable Object] */;
+short int var2 /* : Bool */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var6 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var7 /* : Bool */;
+long var8 /* : Int */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+const char* var_class_name13;
+long var14 /* : Int */;
+var_pos = p0;
+{
+var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead__reverse_iterator]))(self); /* reverse_iterator on <self:SequenceRead[nullable Object]>*/
+}
+var_res = var1;
+for(;;) {
+{
+{ /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var5 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var5)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+fatal_exit(1);
+}
+var6 = var_pos > 0l;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+}
+var_ = var3;
+if (var3){
+{
+var7 = ((short int(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_res); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
+}
+var2 = var7;
+} else {
+var2 = var_;
+}
+if (var2){
+{
+((void(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_res); /* next on <var_res:IndexedIterator[nullable Object]>*/
+}
+{
+{ /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var10 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var10)) {
+var_class_name13 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var14 = var_pos - 1l;
@@ -2036,7 +2114,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Sequence#first= for (self: Sequence[nullable Object], nullable Object) */
-void standard___standard__Sequence___first_61d(val* self, val* p0) {
+void core___core__Sequence___first_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2046,7 +2124,7 @@ const char* var_class_name;
 val* var_item /* var item: nullable Object */;
 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
 /* <p0:nullable Object> isa E */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Sequence___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Sequence___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 is_nullable = type_struct->is_nullable;
@@ -2062,17 +2140,17 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 918);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 999);
 fatal_exit(1);
 }
 var_item = p0;
 {
-((void(*)(val* self, long p0, val* p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Sequence___91d_93d_61d]))(self, 0l, var_item); /* []= on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, long p0, val* p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Sequence___91d_93d_61d]))(self, 0l, var_item); /* []= on <self:Sequence[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#add for (self: Sequence[nullable Object], nullable Object) */
-void standard___standard__Sequence___SimpleCollection__add(val* self, val* p0) {
+void core___core__Sequence___SimpleCollection__add(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2082,7 +2160,7 @@ const char* var_class_name;
 val* var_e /* var e: nullable Object */;
 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
 /* <p0:nullable Object> isa E */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Sequence___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Sequence___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 is_nullable = type_struct->is_nullable;
@@ -2098,17 +2176,17 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 949);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1030);
 fatal_exit(1);
 }
 var_e = p0;
 {
-((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Sequence__push]))(self, var_e); /* push on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Sequence__push]))(self, var_e); /* push on <self:Sequence[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#append for (self: Sequence[nullable Object], Collection[nullable Object]) */
-void standard___standard__Sequence___append(val* self, val* p0) {
+void core___core__Sequence___append(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2117,7 +2195,7 @@ const char* var_class_name;
 val* var_coll /* var coll: Collection[nullable Object] */;
 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
 /* <p0:Collection[nullable Object]> isa Collection[E] */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Collection__standard__Sequence___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Collection__core__Sequence___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2128,37 +2206,37 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 960);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1041);
 fatal_exit(1);
 }
 var_coll = p0;
 {
-((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add_all]))(self, var_coll); /* add_all on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add_all]))(self, var_coll); /* add_all on <self:Sequence[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#pop for (self: Sequence[nullable Object]): nullable Object */
-val* standard___standard__Sequence___pop(val* self) {
+val* core___core__Sequence___pop(val* self) {
 val* var /* : nullable Object */;
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "pop", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 969);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1050);
 fatal_exit(1);
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Sequence#unshift for (self: Sequence[nullable Object], nullable Object) */
-void standard___standard__Sequence___unshift(val* self, val* p0) {
+void core___core__Sequence___unshift(val* self, val* p0) {
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "unshift", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 979);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1060);
 fatal_exit(1);
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#prepend for (self: Sequence[nullable Object], Collection[nullable Object]) */
-void standard___standard__Sequence___prepend(val* self, val* p0) {
+void core___core__Sequence___prepend(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2167,7 +2245,7 @@ const char* var_class_name;
 val* var_coll /* var coll: Collection[nullable Object] */;
 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
 /* <p0:Collection[nullable Object]> isa Collection[E] */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Collection__standard__Sequence___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Collection__core__Sequence___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2178,37 +2256,37 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 987);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1068);
 fatal_exit(1);
 }
 var_coll = p0;
 {
-((void(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Sequence__insert_all]))(self, var_coll, 0l); /* insert_all on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Sequence__insert_all]))(self, var_coll, 0l); /* insert_all on <self:Sequence[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#shift for (self: Sequence[nullable Object]): nullable Object */
-val* standard___standard__Sequence___shift(val* self) {
+val* core___core__Sequence___shift(val* self) {
 val* var /* : nullable Object */;
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "shift", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 996);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1077);
 fatal_exit(1);
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Sequence#insert for (self: Sequence[nullable Object], nullable Object, Int) */
-void standard___standard__Sequence___insert(val* self, val* p0, long p1) {
+void core___core__Sequence___insert(val* self, val* p0, long p1) {
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1022);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1121);
 fatal_exit(1);
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#insert_all for (self: Sequence[nullable Object], Collection[nullable Object], Int) */
-void standard___standard__Sequence___insert_all(val* self, val* p0, long p1) {
+void core___core__Sequence___insert_all(val* self, val* p0, long p1) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2248,7 +2326,7 @@ const char* var_class_name31;
 long var32 /* : Int */;
 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
 /* <p0:Collection[nullable Object]> isa Collection[E] */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Collection__standard__Sequence___35dE];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__Collection__core__Sequence___35dE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2259,7 +2337,7 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1032);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1131);
 fatal_exit(1);
 }
 var_coll = p0;
@@ -2270,9 +2348,9 @@ var_index = p1;
 /* <0l:Int> isa OTHER */
 var4 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name7 = type_standard__Int.name;
+var_class_name7 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var8 = var_index >= 0l;
@@ -2284,7 +2362,7 @@ RET_LABEL3:(void)0;
 var_ = var2;
 if (var2){
 {
-var9 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Sequence[nullable Object]>*/
+var9 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Sequence[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#< (var_index,var9) on <var_index:Int> */
@@ -2292,9 +2370,9 @@ var9 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->cl
 /* <var9:Int> isa OTHER */
 var12 = 1; /* easy <var9:Int> isa OTHER*/
 if (unlikely(!var12)) {
-var_class_name15 = type_standard__Int.name;
+var_class_name15 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var16 = var_index < var9;
@@ -2309,11 +2387,11 @@ var1 = var_;
 }
 if (unlikely(!var1)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1042);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1141);
 fatal_exit(1);
 }
 {
-var17 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(self); /* length on <self:Sequence[nullable Object]>*/
+var17 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__length]))(self); /* length on <self:Sequence[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#== (var_index,var17) on <var_index:Int> */
@@ -2325,26 +2403,29 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 {
-((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add_all]))(self, var_coll); /* add_all on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add_all]))(self, var_coll); /* add_all on <self:Sequence[nullable Object]>*/
 }
 } else {
 }
 var_21 = var_coll;
 {
-var22 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_21); /* iterator on <var_21:Collection[nullable Object]>*/
+var22 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_21); /* iterator on <var_21:Collection[nullable Object]>*/
 }
 var_23 = var22;
 for(;;) {
 {
-var24 = ((short int(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_23); /* is_ok on <var_23:Iterator[nullable Object]>*/
+var24 = ((short int(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_23); /* is_ok on <var_23:Iterator[nullable Object]>*/
 }
 if (var24){
+} else {
+goto BREAK_label;
+}
 {
-var25 = ((val*(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_23); /* item on <var_23:Iterator[nullable Object]>*/
+var25 = ((val*(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_23); /* item on <var_23:Iterator[nullable Object]>*/
 }
 var_c = var25;
 {
-((void(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__abstract_collection__Sequence__insert]))(self, var_c, var_index); /* insert on <self:Sequence[nullable Object]>*/
+((void(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Sequence__insert]))(self, var_c, var_index); /* insert on <self:Sequence[nullable Object]>*/
 }
 {
 { /* Inline kernel#Int#+ (var_index,1l) on <var_index:Int> */
@@ -2352,9 +2433,9 @@ var_c = var25;
 /* <1l:Int> isa OTHER */
 var28 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var28)) {
-var_class_name31 = type_standard__Int.name;
+var_class_name31 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var32 = var_index + 1l;
@@ -2365,41 +2446,38 @@ RET_LABEL27:(void)0;
 }
 var_index = var26;
 {
-((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_23); /* next on <var_23:Iterator[nullable Object]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_23); /* next on <var_23:Iterator[nullable Object]>*/
 }
 }
 BREAK_label: (void)0;
 {
-((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_23); /* finish on <var_23:Iterator[nullable Object]>*/
+((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_23); /* finish on <var_23:Iterator[nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Sequence#remove_at for (self: Sequence[nullable Object], Int) */
-void standard___standard__Sequence___remove_at(val* self, long p0) {
+void core___core__Sequence___remove_at(val* self, long p0) {
 const char* var_class_name;
 var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove_at", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1052);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1151);
 fatal_exit(1);
 RET_LABEL:;
 }
 /* method abstract_collection#CoupleMap#iterator for (self: CoupleMap[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
-val* standard___standard__CoupleMap___MapRead__iterator(val* self) {
+val* core___core__CoupleMap___MapRead__iterator(val* self) {
 val* var /* : MapIterator[nullable Object, nullable Object] */;
 val* var1 /* : CoupleMapIterator[nullable Object, nullable Object] */;
 val* var2 /* : Iterator[Couple[nullable Object, nullable Object]] */;
-var1 = NEW_standard__abstract_collection__CoupleMapIterator((((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__abstract_collection__CoupleMapIterator__standard__CoupleMap___35dK__standard__CoupleMap___35dV]);
+var1 = NEW_core__abstract_collection__CoupleMapIterator((((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__abstract_collection__CoupleMapIterator__core__CoupleMap___35dK__core__CoupleMap___35dV]);
 {
-var2 = standard___standard__ArrayMap___standard__abstract_collection__CoupleMap__couple_iterator(self);
+var2 = core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_iterator(self);
 }
 {
-((void(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__abstract_collection__CoupleMapIterator__iter_61d]))(var1, var2); /* iter= on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_collection__CoupleMapIterator__iter_61d]))(var1, var2); /* iter= on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
 }
 {
-((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
 }
 var = var1;
 goto RET_LABEL;
@@ -2407,7 +2485,7 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#CoupleMap#has_key for (self: CoupleMap[nullable Object, nullable Object], nullable Object): Bool */
-short int standard___standard__CoupleMap___MapRead__has_key(val* self, val* p0) {
+short int core___core__CoupleMap___MapRead__has_key(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_key /* var key: nullable Object */;
 val* var1 /* : nullable Couple[nullable Object, nullable Object] */;
@@ -2418,7 +2496,7 @@ short int var5 /* : Bool */;
 short int var6 /* : Bool */;
 var_key = p0;
 {
-var1 = standard___standard__ArrayMap___standard__abstract_collection__CoupleMap__couple_at(self, var_key);
+var1 = core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_at(self, var_key);
 }
 if (var1 == NULL) {
 var2 = 0; /* is null */
@@ -2429,7 +2507,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var1,((val*)NULL)) on <var1:nullable Couple[nullable Object, nullable Object]> */
 var_other = ((val*)NULL);
 {
-var5 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable Couple[nullable Object, nullable Object](Couple[nullable Object, nullable Object])>*/
+var5 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable Couple[nullable Object, nullable Object](Couple[nullable Object, nullable Object])>*/
 }
 var6 = !var5;
 var3 = var6;
@@ -2444,24 +2522,24 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#CoupleMapIterator#item for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
-val* standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___MapIterator__item(val* self) {
+val* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__item(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : Iterator[Couple[nullable Object, nullable Object]] */;
 val* var2 /* : nullable Object */;
 val* var3 /* : nullable Object */;
 val* var5 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1102);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1201);
 fatal_exit(1);
 }
 {
-var2 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var1); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
+var2 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var1); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
 }
 {
 { /* Inline abstract_collection#Couple#second (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
-var5 = var2->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
+var5 = var2->attrs[COLOR_core__abstract_collection__Couple___second].val; /* _second on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
 var3 = var5;
 RET_LABEL4:(void)0;
 }
@@ -2472,24 +2550,24 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#CoupleMapIterator#key for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
-val* standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___MapIterator__key(val* self) {
+val* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__key(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : Iterator[Couple[nullable Object, nullable Object]] */;
 val* var2 /* : nullable Object */;
 val* var3 /* : nullable Object */;
 val* var5 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1106);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1205);
 fatal_exit(1);
 }
 {
-var2 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var1); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
+var2 = ((val*(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var1); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
 }
 {
 { /* Inline abstract_collection#Couple#first (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
-var5 = var2->attrs[COLOR_standard__abstract_collection__Couple___first].val; /* _first on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
+var5 = var2->attrs[COLOR_core__abstract_collection__Couple___first].val; /* _first on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
 var3 = var5;
 RET_LABEL4:(void)0;
 }
@@ -2500,18 +2578,18 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#CoupleMapIterator#is_ok for (self: CoupleMapIterator[nullable Object, nullable Object]): Bool */
-short int standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___MapIterator__is_ok(val* self) {
+short int core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__is_ok(val* self) {
 short int var /* : Bool */;
 val* var1 /* : Iterator[Couple[nullable Object, nullable Object]] */;
 short int var2 /* : Bool */;
-var1 = self->attrs[COLOR_standard__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1108);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1207);
 fatal_exit(1);
 }
 {
-var2 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var1); /* is_ok on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
+var2 = ((short int(*)(val* self))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var1); /* is_ok on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
 }
 var = var2;
 goto RET_LABEL;
@@ -2519,21 +2597,21 @@ RET_LABEL:;
 return var;
 }
 /* method abstract_collection#CoupleMapIterator#next for (self: CoupleMapIterator[nullable Object, nullable Object]) */
-void standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___MapIterator__next(val* self) {
+void core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__next(val* self) {
 val* var /* : Iterator[Couple[nullable Object, nullable Object]] */;
-var = self->attrs[COLOR_standard__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
+var = self->attrs[COLOR_core__abstract_collection__CoupleMapIterator___iter].val; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1112);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1211);
 fatal_exit(1);
 }
 {
-((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var); /* next on <var:Iterator[Couple[nullable Object, nullable Object]]>*/
+((void(*)(val* self))((((long)var&3)?class_info[((long)var&3)]:var->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var); /* next on <var:Iterator[Couple[nullable Object, nullable Object]]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#CoupleMapIterator#iter= for (self: CoupleMapIterator[nullable Object, nullable Object], Iterator[Couple[nullable Object, nullable Object]]) */
-void standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___iter_61d(val* self, val* p0) {
+void core__abstract_collection___core__abstract_collection__CoupleMapIterator___iter_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2541,7 +2619,7 @@ const struct type* type_struct;
 const char* var_class_name;
 /* Covariant cast for argument 0 (iter) <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
 /* <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
-type_struct = self->type->resolution_table->types[COLOR_standard__Iterator__standard__Couple__standard__abstract_collection__CoupleMapIterator___35dK__standard__abstract_collection__CoupleMapIterator___35dV];
+type_struct = self->type->resolution_table->types[COLOR_core__Iterator__core__Couple__core__abstract_collection__CoupleMapIterator___35dK__core__abstract_collection__CoupleMapIterator___35dV];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2552,30 +2630,30 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Iterator[Couple[K, V]]", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1115);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1214);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__CoupleMapIterator___iter].val = p0; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__CoupleMapIterator___iter].val = p0; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
 RET_LABEL:;
 }
 /* method abstract_collection#CoupleMapIterator#init for (self: CoupleMapIterator[nullable Object, nullable Object]) */
-void standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___standard__kernel__Object__init(val* self) {
+void core__abstract_collection___core__abstract_collection__CoupleMapIterator___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard__abstract_collection___standard__abstract_collection__CoupleMapIterator___standard__kernel__Object__init]))(self); /* init on <self:CoupleMapIterator[nullable Object, nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core__abstract_collection___core__abstract_collection__CoupleMapIterator___core__kernel__Object__init]))(self); /* init on <self:CoupleMapIterator[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }
 /* method abstract_collection#Couple#first for (self: Couple[nullable Object, nullable Object]): nullable Object */
-val* standard___standard__Couple___first(val* self) {
+val* core___core__Couple___first(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__Couple___first].val; /* _first on <self:Couple[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__Couple___first].val; /* _first on <self:Couple[nullable Object, nullable Object]> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Couple#first= for (self: Couple[nullable Object, nullable Object], nullable Object) */
-void standard___standard__Couple___first_61d(val* self, val* p0) {
+void core___core__Couple___first_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2584,7 +2662,7 @@ short int is_nullable;
 const char* var_class_name;
 /* Covariant cast for argument 0 (first) <p0:nullable Object> isa F */
 /* <p0:nullable Object> isa F */
-type_struct = self->type->resolution_table->types[COLOR_standard__Couple___35dF];
+type_struct = self->type->resolution_table->types[COLOR_core__Couple___35dF];
 cltype = type_struct->color;
 idtype = type_struct->id;
 is_nullable = type_struct->is_nullable;
@@ -2600,23 +2678,23 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "F", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1123);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1222);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__Couple___first].val = p0; /* _first on <self:Couple[nullable Object, nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__Couple___first].val = p0; /* _first on <self:Couple[nullable Object, nullable Object]> */
 RET_LABEL:;
 }
 /* method abstract_collection#Couple#second for (self: Couple[nullable Object, nullable Object]): nullable Object */
-val* standard___standard__Couple___second(val* self) {
+val* core___core__Couple___second(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : nullable Object */;
-var1 = self->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <self:Couple[nullable Object, nullable Object]> */
+var1 = self->attrs[COLOR_core__abstract_collection__Couple___second].val; /* _second on <self:Couple[nullable Object, nullable Object]> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method abstract_collection#Couple#second= for (self: Couple[nullable Object, nullable Object], nullable Object) */
-void standard___standard__Couple___second_61d(val* self, val* p0) {
+void core___core__Couple___second_61d(val* self, val* p0) {
 short int var /* : Bool */;
 int cltype;
 int idtype;
@@ -2625,7 +2703,7 @@ short int is_nullable;
 const char* var_class_name;
 /* Covariant cast for argument 0 (second) <p0:nullable Object> isa S */
 /* <p0:nullable Object> isa S */
-type_struct = self->type->resolution_table->types[COLOR_standard__Couple___35dS];
+type_struct = self->type->resolution_table->types[COLOR_core__Couple___35dS];
 cltype = type_struct->color;
 idtype = type_struct->id;
 is_nullable = type_struct->is_nullable;
@@ -2641,16 +2719,16 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt
 if (unlikely(!var)) {
 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "S", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 1126);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 1225);
 fatal_exit(1);
 }
-self->attrs[COLOR_standard__abstract_collection__Couple___second].val = p0; /* _second on <self:Couple[nullable Object, nullable Object]> */
+self->attrs[COLOR_core__abstract_collection__Couple___second].val = p0; /* _second on <self:Couple[nullable Object, nullable Object]> */
 RET_LABEL:;
 }
 /* method abstract_collection#Couple#init for (self: Couple[nullable Object, nullable Object]) */
-void standard___standard__Couple___standard__kernel__Object__init(val* self) {
+void core___core__Couple___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_standard___standard__Couple___standard__kernel__Object__init]))(self); /* init on <self:Couple[nullable Object, nullable Object]>*/
+((void(*)(val* self))(self->class->vft[COLOR_core___core__Couple___core__kernel__Object__init]))(self); /* init on <self:Couple[nullable Object, nullable Object]>*/
 }
 RET_LABEL:;
 }