c_src: regenerate
[nit.git] / c_src / core__kernel.sep.1.c
similarity index 73%
rename from c_src/standard__kernel.sep.1.c
rename to c_src/core__kernel.sep.1.c
index 14ead5e..46f68ae 100644 (file)
@@ -1,6 +1,6 @@
-#include "standard__kernel.sep.0.h"
+#include "core__kernel.sep.0.h"
 /* method kernel#Object#object_id for (self: Object): Int */
-long standard___standard__Object___object_id(val* self) {
+long core___core__Object___object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -10,17 +10,17 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Object#is_same_instance for (self: Object, nullable Object): Bool */
-short int standard___standard__Object___is_same_instance(val* self, val* p0) {
+short int core___core__Object___is_same_instance(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
-var1 = self == p0 || (p0 != NULL && (!((long)self&3)) && (!((long)p0&3)) && self->class == p0->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)p0)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)p0)->value)));
+var1 = self == p0 || (p0 != NULL && (!((long)self&3)) && (!((long)p0&3)) && self->class == p0->class && ((self->class->box_kind == 3 && ((struct instance_core__Byte*)self)->value == ((struct instance_core__Byte*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_core__Float*)self)->value == ((struct instance_core__Float*)p0)->value) || (self->class->box_kind == 6 && ((struct instance_core__NativeString*)self)->value == ((struct instance_core__NativeString*)p0)->value) || (self->class->box_kind == 7 && ((struct instance_core__Pointer*)self)->value == ((struct instance_core__Pointer*)p0)->value) || (self->class->box_kind == 8 && ((struct instance_core__Int8*)self)->value == ((struct instance_core__Int8*)p0)->value) || (self->class->box_kind == 9 && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)p0)->value) || (self->class->box_kind == 10 && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)p0)->value) || (self->class->box_kind == 11 && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)p0)->value) || (self->class->box_kind == 12 && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)p0)->value)));
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Object#== for (self: Object, nullable Object): Bool */
-short int standard___standard__Object____61d_61d(val* self, val* p0) {
+short int core___core__Object____61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var1 /* : Bool */;
@@ -28,7 +28,7 @@ short int var3 /* : Bool */;
 var_other = p0;
 {
 { /* Inline kernel#Object#is_same_instance (self,var_other) on <self:Object> */
-var3 = self == var_other || (var_other != NULL && (!((long)self&3)) && (!((long)var_other&3)) && self->class == var_other->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)var_other)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)var_other)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)var_other)->value)));
+var3 = self == var_other || (var_other != NULL && (!((long)self&3)) && (!((long)var_other&3)) && self->class == var_other->class && ((self->class->box_kind == 3 && ((struct instance_core__Byte*)self)->value == ((struct instance_core__Byte*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_core__Float*)self)->value == ((struct instance_core__Float*)var_other)->value) || (self->class->box_kind == 6 && ((struct instance_core__NativeString*)self)->value == ((struct instance_core__NativeString*)var_other)->value) || (self->class->box_kind == 7 && ((struct instance_core__Pointer*)self)->value == ((struct instance_core__Pointer*)var_other)->value) || (self->class->box_kind == 8 && ((struct instance_core__Int8*)self)->value == ((struct instance_core__Int8*)var_other)->value) || (self->class->box_kind == 9 && ((struct instance_core__Int16*)self)->value == ((struct instance_core__Int16*)var_other)->value) || (self->class->box_kind == 10 && ((struct instance_core__UInt16*)self)->value == ((struct instance_core__UInt16*)var_other)->value) || (self->class->box_kind == 11 && ((struct instance_core__Int32*)self)->value == ((struct instance_core__Int32*)var_other)->value) || (self->class->box_kind == 12 && ((struct instance_core__UInt32*)self)->value == ((struct instance_core__UInt32*)var_other)->value)));
 var1 = var3;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
@@ -40,14 +40,14 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Object#!= for (self: Object, nullable Object): Bool */
-short int standard___standard__Object____33d_61d(val* self, val* p0) {
+short int core___core__Object____33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
 var_other = p0;
 {
-var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(self, var_other); /* == on <self:Object>*/
+var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Object___61d_61d]))(self, var_other); /* == on <self:Object>*/
 }
 var2 = !var1;
 var = var2;
@@ -56,42 +56,19 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Object#hash for (self: Object): Int */
-long standard___standard__Object___hash(val* self) {
+long core___core__Object___hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-long var2 /* : Int */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-long var5 /* : Int */;
-{
-var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object__object_id]))(self); /* object_id on <self:Object>*/
-}
 {
-{ /* Inline kernel#Int#/ (var1,8l) on <var1:Int> */
-/* Covariant cast for argument 0 (i) <8l:Int> isa OTHER */
-/* <8l:Int> isa OTHER */
-var4 = 1; /* easy <8l:Int> isa OTHER*/
-if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
-fatal_exit(1);
-}
-var5 = var1 / 8l;
-var2 = var5;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
+var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Object__object_id]))(self); /* object_id on <self:Object>*/
 }
-}
-var = var2;
+var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Object#sys for (self: Object): Sys */
-val* standard___standard__Object___sys(val* self) {
+val* core___core__Object___sys(val* self) {
 val* var /* : Sys */;
 val* var1 /* : Sys */;
 var1 = glob_sys;
@@ -101,33 +78,36 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Object#init for (self: Object) */
-void standard___standard__Object___init(val* self) {
+void core___core__Object___init(val* self) {
 RET_LABEL:;
 }
 /* method kernel#Sys#run for (self: Sys) */
-void standard___standard__Sys___run(val* self) {
+void core___core__Sys___run(val* self) {
 {
-nit__abstract_compiler___standard__Sys___main(self); /* Direct call abstract_compiler#Sys#main on <self:Sys>*/
+nitc__abstract_compiler___core__Sys___main(self); /* Direct call abstract_compiler#Sys#main on <self:Sys>*/
 }
 RET_LABEL:;
 }
 /* method kernel#Sys#errno for (self: Sys): Int */
-long standard___standard__Sys___errno(val* self) {
+long core___core__Sys___errno(val* self) {
 long var /* : Int */;
-long var1 /* : Int for extern */;
-var1 = sys_errno(self);
+long var1 /* : Int */;
+struct nitni_instance* var_for_c_0;
+var_for_c_0 = nit_alloc(sizeof(struct nitni_instance));
+var_for_c_0->value = self;
+var1 = kernel___Sys_errno___impl(var_for_c_0);
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Sys#exit for (self: Sys, Int) */
-void standard___standard__Sys___exit(val* self, long p0) {
+void core___core__Sys___exit(val* self, long p0) {
 exit(p0);
 RET_LABEL:;
 }
 /* method kernel#Comparable#<= for (self: Comparable, Comparable): Bool */
-short int standard___standard__Comparable____60d_61d(val* self, val* p0) {
+short int core___core__Comparable____60d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -139,7 +119,7 @@ short int var2 /* : Bool */;
 short int var3 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -150,12 +130,12 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var1)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 133);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 322);
 fatal_exit(1);
 }
 var_other = p0;
 {
-var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
+var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
 }
 var3 = !var2;
 var = var3;
@@ -164,7 +144,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Comparable#>= for (self: Comparable, Comparable): Bool */
-short int standard___standard__Comparable____62d_61d(val* self, val* p0) {
+short int core___core__Comparable____62d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -176,7 +156,7 @@ short int var2 /* : Bool */;
 short int var3 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -187,12 +167,12 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var1)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 137);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 326);
 fatal_exit(1);
 }
 var_other = p0;
 {
-var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
+var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
 }
 var3 = !var2;
 var = var3;
@@ -201,7 +181,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Comparable#> for (self: Comparable, Comparable): Bool */
-short int standard___standard__Comparable____62d(val* self, val* p0) {
+short int core___core__Comparable____62d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -212,7 +192,7 @@ val* var_other /* var other: Comparable */;
 short int var2 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -223,12 +203,12 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var1)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 141);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 330);
 fatal_exit(1);
 }
 var_other = p0;
 {
-var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
+var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
 }
 var = var2;
 goto RET_LABEL;
@@ -236,7 +216,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Comparable#<=> for (self: Comparable, Comparable): Int */
-long standard___standard__Comparable____60d_61d_62d(val* self, val* p0) {
+long core___core__Comparable____60d_61d_62d(val* self, val* p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -250,7 +230,7 @@ long var5 /* : Int */;
 short int var6 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -261,12 +241,12 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var1)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 144);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 333);
 fatal_exit(1);
 }
 var_other = p0;
 {
-var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
+var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Comparable___60d]))(self, var_other); /* < on <self:Comparable>*/
 }
 if (var2){
 {
@@ -281,7 +261,7 @@ var = var3;
 goto RET_LABEL;
 } else {
 {
-var6 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
+var6 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_core__kernel__Comparable___60d]))(var_other, self); /* < on <var_other:Comparable>*/
 }
 if (var6){
 var = 1l;
@@ -295,7 +275,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#object_id for (self: Bool): Int */
-long standard___standard__Bool___Object__object_id(short int self) {
+long core___core__Bool___Object__object_id(short int self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -305,7 +285,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#object_id for (self: Object): Int */
-long VIRTUAL_standard___standard__Bool___Object__object_id(val* self) {
+long VIRTUAL_core___core__Bool___Object__object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 short int var3 /* : Bool */;
@@ -322,19 +302,21 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#== for (self: Bool, nullable Object): Bool */
-short int standard___standard__Bool___Object___61d_61d(short int self, val* p0) {
+short int core___core__Bool___Object___61d_61d(short int self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
+if ((p0 != NULL) && (((long)p0&3) == 3)) {
 var2 = (short int)((long)(p0)>>2);
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#== for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Bool___Object___61d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Bool___Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -349,13 +331,15 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#!= for (self: Bool, nullable Object): Bool */
-short int standard___standard__Bool___Object___33d_61d(short int self, val* p0) {
+short int core___core__Bool___Object___33d_61d(short int self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
 short int var3 /* : Bool */;
+if ((p0 != NULL) && (((long)p0&3) == 3)) {
 var2 = (short int)((long)(p0)>>2);
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var3 = !var1;
 var = var3;
 goto RET_LABEL;
@@ -363,7 +347,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#!= for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Bool___Object___33d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Bool___Object___33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -380,11 +364,11 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#hash for (self: Bool): Int */
-long standard___standard__Bool___Object__hash(short int self) {
+long core___core__Bool___Object__hash(short int self) {
 long var /* : Int */;
 long var1 /* : Int */;
 {
-var1 = standard___standard__Bool___to_i(self);
+var1 = core___core__Bool___to_i(self);
 }
 var = var1;
 goto RET_LABEL;
@@ -392,18 +376,18 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#hash for (self: Object): Int */
-long VIRTUAL_standard___standard__Bool___Object__hash(val* self) {
+long VIRTUAL_core___core__Bool___Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 short int var2 /* : Bool */;
 var2 = (short int)((long)(self)>>2);
-var1 = standard___standard__Bool___Object__hash(var2);
+var1 = core___core__Bool___Object__hash(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Bool#to_i for (self: Bool): Int */
-long standard___standard__Bool___to_i(short int self) {
+long core___core__Bool___to_i(short int self) {
 long var /* : Int */;
 if (self){
 var = 1l;
@@ -416,7 +400,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#object_id for (self: Float): Int */
-long standard___standard__Float___Object__object_id(double self) {
+long core___core__Float___Object__object_id(double self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (double)self;
@@ -426,13 +410,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#object_id for (self: Object): Int */
-long VIRTUAL_standard___standard__Float___Object__object_id(val* self) {
+long VIRTUAL_core___core__Float___Object__object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 double var3 /* : Float */;
 long var4 /* : Int */;
 { /* Inline kernel#Float#object_id (self) on <self:Object(Float)> */
-var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Object to Float */;
+var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Object to Float */;
 var4 = (double)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -443,27 +427,26 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#== for (self: Float, nullable Object): Bool */
-short int standard___standard__Float___Object___61d_61d(double self, val* p0) {
+short int core___core__Float___Object___61d_61d(double self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 double var2 /* : Float */;
-var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
-if (var1) {
-var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
-var1 = (var2 == self);
-}
+if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Float)) {
+var2 = ((struct instance_core__Float*)p0)->value; /* autounbox from nullable Object to Float */;
+var1 = var2 == self;
+} else var1 = 0;
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#== for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Float___Object___61d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
 { /* Inline kernel#Float#== (self,p0) on <self:Object(Float)> */
-var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
+var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Float*)self)->value == ((struct instance_core__Float*)p0)->value);
 var1 = var3;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
@@ -473,16 +456,15 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#!= for (self: Float, nullable Object): Bool */
-short int standard___standard__Float___Object___33d_61d(double self, val* p0) {
+short int core___core__Float___Object___33d_61d(double self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 double var2 /* : Float */;
 short int var3 /* : Bool */;
-var1 = (p0 != NULL) && (p0->class == &class_standard__Float);
-if (var1) {
-var2 = ((struct instance_standard__Float*)p0)->value; /* autounbox from nullable Object to Float */;
-var1 = (var2 == self);
-}
+if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Float)) {
+var2 = ((struct instance_core__Float*)p0)->value; /* autounbox from nullable Object to Float */;
+var1 = var2 == self;
+} else var1 = 0;
 var3 = !var1;
 var = var3;
 goto RET_LABEL;
@@ -490,13 +472,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#!= for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Float___Object___33d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Object___33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 { /* Inline kernel#Float#!= (self,p0) on <self:Object(Float)> */
-var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value);
+var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Float*)self)->value == ((struct instance_core__Float*)p0)->value);
 var4 = !var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -507,7 +489,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#<= for (self: Float, Float): Bool */
-short int standard___standard__Float___Comparable___60d_61d(double self, double p0) {
+short int core___core__Float___Comparable___60d_61d(double self, double p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -518,9 +500,9 @@ short int var2 /* : Bool */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 529);
 fatal_exit(1);
 }
 var2 = self <= p0;
@@ -530,7 +512,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#<= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Float___Comparable___60d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Comparable___60d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -544,7 +526,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Float#<= (self,p0) on <self:Comparable(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -555,11 +537,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 529);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Comparable to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Comparable to Float */;
 var6 = var4 <= var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -570,7 +552,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#< for (self: Float, Float): Bool */
-short int standard___standard__Float___Comparable___60d(double self, double p0) {
+short int core___core__Float___Comparable___60d(double self, double p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -581,9 +563,9 @@ short int var2 /* : Bool */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 530);
 fatal_exit(1);
 }
 var2 = self < p0;
@@ -593,7 +575,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#< for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Float___Comparable___60d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Comparable___60d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -607,7 +589,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Float#< (self,p0) on <self:Comparable(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -618,11 +600,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 530);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Comparable to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Comparable to Float */;
 var6 = var4 < var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -633,7 +615,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#>= for (self: Float, Float): Bool */
-short int standard___standard__Float___Comparable___62d_61d(double self, double p0) {
+short int core___core__Float___Comparable___62d_61d(double self, double p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -644,9 +626,9 @@ short int var2 /* : Bool */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 531);
 fatal_exit(1);
 }
 var2 = self >= p0;
@@ -656,7 +638,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#>= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Float___Comparable___62d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Comparable___62d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -670,7 +652,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Float#>= (self,p0) on <self:Comparable(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -681,11 +663,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 531);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Comparable to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Comparable to Float */;
 var6 = var4 >= var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -696,7 +678,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#> for (self: Float, Float): Bool */
-short int standard___standard__Float___Comparable___62d(double self, double p0) {
+short int core___core__Float___Comparable___62d(double self, double p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -707,9 +689,9 @@ short int var2 /* : Bool */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 532);
 fatal_exit(1);
 }
 var2 = self > p0;
@@ -719,7 +701,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#> for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Float___Comparable___62d(val* self, val* p0) {
+short int VIRTUAL_core___core__Float___Comparable___62d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -733,7 +715,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Float#> (self,p0) on <self:Comparable(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -744,11 +726,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 532);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Comparable to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Comparable to Float */;
 var6 = var4 > var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -759,7 +741,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#+ for (self: Float, Float): Float */
-double standard___standard__Float___Numeric___43d(double self, double p0) {
+double core___core__Float___Numeric___43d(double self, double p0) {
 double var /* : Float */;
 short int var1 /* : Bool */;
 int cltype;
@@ -770,9 +752,9 @@ double var2 /* : Float */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 534);
 fatal_exit(1);
 }
 var2 = self + p0;
@@ -782,7 +764,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#+ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Float___Numeric___43d(val* self, val* p0) {
+val* VIRTUAL_core___core__Float___Numeric___43d(val* self, val* p0) {
 val* var /* : Numeric */;
 double var1 /* : Float */;
 short int var3 /* : Bool */;
@@ -797,7 +779,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Float#+ (self,p0) on <self:Numeric(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -808,23 +790,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 534);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Numeric to Float */;
 var6 = var4 + var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
+var7 = BOX_core__Float(var1); /* autobox from Float to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#unary - for (self: Float): Float */
-double standard___standard__Float___Numeric__unary_32d_45d(double self) {
+double core___core__Float___Numeric__unary_32d_45d(double self) {
 double var /* : Float */;
 double var1 /* : Float */;
 var1 = -self;
@@ -834,26 +816,26 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#unary - for (self: Numeric): Numeric */
-val* VIRTUAL_standard___standard__Float___Numeric__unary_32d_45d(val* self) {
+val* VIRTUAL_core___core__Float___Numeric__unary_32d_45d(val* self) {
 val* var /* : Numeric */;
 double var1 /* : Float */;
 double var3 /* : Float */;
 double var4 /* : Float */;
 val* var5 /* : Numeric */;
 { /* Inline kernel#Float#unary - (self) on <self:Numeric(Float)> */
-var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
+var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
 var4 = -var3;
 var1 = var4;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var5 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
+var5 = BOX_core__Float(var1); /* autobox from Float to Numeric */
 var = var5;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#- for (self: Float, Float): Float */
-double standard___standard__Float___Numeric___45d(double self, double p0) {
+double core___core__Float___Numeric___45d(double self, double p0) {
 double var /* : Float */;
 short int var1 /* : Bool */;
 int cltype;
@@ -864,9 +846,9 @@ double var2 /* : Float */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 536);
 fatal_exit(1);
 }
 var2 = self - p0;
@@ -876,7 +858,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#- for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Float___Numeric___45d(val* self, val* p0) {
+val* VIRTUAL_core___core__Float___Numeric___45d(val* self, val* p0) {
 val* var /* : Numeric */;
 double var1 /* : Float */;
 short int var3 /* : Bool */;
@@ -891,7 +873,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Float#- (self,p0) on <self:Numeric(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -902,23 +884,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 536);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Numeric to Float */;
 var6 = var4 - var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
+var7 = BOX_core__Float(var1); /* autobox from Float to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#* for (self: Float, Float): Float */
-double standard___standard__Float___Numeric___42d(double self, double p0) {
+double core___core__Float___Numeric___42d(double self, double p0) {
 double var /* : Float */;
 short int var1 /* : Bool */;
 int cltype;
@@ -929,9 +911,9 @@ double var2 /* : Float */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 537);
 fatal_exit(1);
 }
 var2 = self * p0;
@@ -941,7 +923,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#* for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Float___Numeric___42d(val* self, val* p0) {
+val* VIRTUAL_core___core__Float___Numeric___42d(val* self, val* p0) {
 val* var /* : Numeric */;
 double var1 /* : Float */;
 short int var3 /* : Bool */;
@@ -956,7 +938,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Float#* (self,p0) on <self:Numeric(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -967,23 +949,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 537);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Numeric to Float */;
 var6 = var4 * var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
+var7 = BOX_core__Float(var1); /* autobox from Float to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#/ for (self: Float, Float): Float */
-double standard___standard__Float___Numeric___47d(double self, double p0) {
+double core___core__Float___Numeric___47d(double self, double p0) {
 double var /* : Float */;
 short int var1 /* : Bool */;
 int cltype;
@@ -994,9 +976,9 @@ double var2 /* : Float */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 538);
 fatal_exit(1);
 }
 var2 = self / p0;
@@ -1006,7 +988,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#/ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Float___Numeric___47d(val* self, val* p0) {
+val* VIRTUAL_core___core__Float___Numeric___47d(val* self, val* p0) {
 val* var /* : Numeric */;
 double var1 /* : Float */;
 short int var3 /* : Bool */;
@@ -1021,7 +1003,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Float#/ (self,p0) on <self:Numeric(Float)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1032,23 +1014,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 538);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
-var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */;
+var4 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
+var5 = ((struct instance_core__Float*)p0)->value; /* autounbox from Numeric to Float */;
 var6 = var4 / var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Float(var1); /* autobox from Float to Numeric */
+var7 = BOX_core__Float(var1); /* autobox from Float to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_i for (self: Float): Int */
-long standard___standard__Float___Numeric__to_i(double self) {
+long core___core__Float___Numeric__to_i(double self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -1058,13 +1040,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_i for (self: Numeric): Int */
-long VIRTUAL_standard___standard__Float___Numeric__to_i(val* self) {
+long VIRTUAL_core___core__Float___Numeric__to_i(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 double var3 /* : Float */;
 long var4 /* : Int */;
 { /* Inline kernel#Float#to_i (self) on <self:Numeric(Float)> */
-var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
+var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
 var4 = (long)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1075,7 +1057,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_f for (self: Float): Float */
-double standard___standard__Float___Numeric__to_f(double self) {
+double core___core__Float___Numeric__to_f(double self) {
 double var /* : Float */;
 var = self;
 goto RET_LABEL;
@@ -1083,18 +1065,18 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_f for (self: Numeric): Float */
-double VIRTUAL_standard___standard__Float___Numeric__to_f(val* self) {
+double VIRTUAL_core___core__Float___Numeric__to_f(val* self) {
 double var /* : Float */;
 double var1 /* : Float */;
 double var2 /* : Float */;
-var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
-var1 = standard___standard__Float___Numeric__to_f(var2);
+var2 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
+var1 = core___core__Float___Numeric__to_f(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_b for (self: Float): Byte */
-unsigned char standard___standard__Float___Numeric__to_b(double self) {
+unsigned char core___core__Float___Numeric__to_b(double self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 var1 = (unsigned char)self;
@@ -1104,13 +1086,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#to_b for (self: Numeric): Byte */
-unsigned char VIRTUAL_standard___standard__Float___Numeric__to_b(val* self) {
+unsigned char VIRTUAL_core___core__Float___Numeric__to_b(val* self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 double var3 /* : Float */;
 unsigned char var4 /* : Byte */;
 { /* Inline kernel#Float#to_b (self) on <self:Numeric(Float)> */
-var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */;
+var3 = ((struct instance_core__Float*)self)->value; /* autounbox from Numeric to Float */;
 var4 = (unsigned char)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1121,7 +1103,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#<=> for (self: Float, Float): Int */
-long standard___standard__Float___Comparable___60d_61d_62d(double self, double p0) {
+long core___core__Float___Comparable___60d_61d_62d(double self, double p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1146,9 +1128,9 @@ short int var18 /* : Bool */;
 /* <p0:Float> isa OTHER */
 var1 = 1; /* easy <p0:Float> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Float.name;
+var_class_name = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 358);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 547);
 fatal_exit(1);
 }
 var_other = p0;
@@ -1158,9 +1140,9 @@ var_other = p0;
 /* <var_other:Float> isa OTHER */
 var4 = 1; /* easy <var_other:Float> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name7 = type_standard__Float.name;
+var_class_name7 = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 530);
 fatal_exit(1);
 }
 var8 = self < var_other;
@@ -1187,9 +1169,9 @@ goto RET_LABEL;
 /* <self:Float> isa OTHER */
 var14 = 1; /* easy <self:Float> isa OTHER*/
 if (unlikely(!var14)) {
-var_class_name17 = type_standard__Float.name;
+var_class_name17 = type_core__Float.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 530);
 fatal_exit(1);
 }
 var18 = var_other < self;
@@ -1210,20 +1192,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Float#<=> for (self: Comparable, Comparable): Int */
-long VIRTUAL_standard___standard__Float___Comparable___60d_61d_62d(val* self, val* p0) {
+long VIRTUAL_core___core__Float___Comparable___60d_61d_62d(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 double var2 /* : Float */;
 double var3 /* : Float */;
-var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */;
-var3 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */;
-var1 = standard___standard__Float___Comparable___60d_61d_62d(var2, var3);
+var2 = ((struct instance_core__Float*)self)->value; /* autounbox from Comparable to Float */;
+var3 = ((struct instance_core__Float*)p0)->value; /* autounbox from Comparable to Float */;
+var1 = core___core__Float___Comparable___60d_61d_62d(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#successor for (self: Byte, Int): Byte */
-unsigned char standard___standard__Byte___Discrete__successor(unsigned char self, long p0) {
+unsigned char core___core__Byte___Discrete__successor(unsigned char self, long p0) {
 unsigned char var /* : Byte */;
 long var_i /* var i: Int */;
 unsigned char var1 /* : Byte */;
@@ -1249,9 +1231,9 @@ RET_LABEL2:(void)0;
 /* <var1:Byte> isa OTHER */
 var6 = 1; /* easy <var1:Byte> isa OTHER*/
 if (unlikely(!var6)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 622);
 fatal_exit(1);
 }
 var7 = self + var1;
@@ -1266,20 +1248,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#successor for (self: Discrete, Int): Discrete */
-val* VIRTUAL_standard___standard__Byte___Discrete__successor(val* self, long p0) {
+val* VIRTUAL_core___core__Byte___Discrete__successor(val* self, long p0) {
 val* var /* : Discrete */;
 unsigned char var1 /* : Byte */;
 unsigned char var2 /* : Byte */;
 val* var3 /* : Discrete */;
-var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */;
-var1 = standard___standard__Byte___Discrete__successor(var2, p0);
-var3 = BOX_standard__Byte(var1); /* autobox from Byte to Discrete */
+var2 = ((struct instance_core__Byte*)self)->value; /* autounbox from Discrete to Byte */;
+var1 = core___core__Byte___Discrete__successor(var2, p0);
+var3 = BOX_core__Byte(var1); /* autobox from Byte to Discrete */
 var = var3;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#object_id for (self: Byte): Int */
-long standard___standard__Byte___Object__object_id(unsigned char self) {
+long core___core__Byte___Object__object_id(unsigned char self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -1289,13 +1271,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#object_id for (self: Object): Int */
-long VIRTUAL_standard___standard__Byte___Object__object_id(val* self) {
+long VIRTUAL_core___core__Byte___Object__object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 unsigned char var3 /* : Byte */;
 long var4 /* : Int */;
 { /* Inline kernel#Byte#object_id (self) on <self:Object(Byte)> */
-var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */;
+var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Object to Byte */;
 var4 = (long)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1306,7 +1288,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#hash for (self: Byte): Int */
-long standard___standard__Byte___Object__hash(unsigned char self) {
+long core___core__Byte___Object__hash(unsigned char self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var3 /* : Int */;
@@ -1324,38 +1306,37 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#hash for (self: Object): Int */
-long VIRTUAL_standard___standard__Byte___Object__hash(val* self) {
+long VIRTUAL_core___core__Byte___Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 unsigned char var2 /* : Byte */;
-var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */;
-var1 = standard___standard__Byte___Object__hash(var2);
+var2 = ((struct instance_core__Byte*)self)->value; /* autounbox from Object to Byte */;
+var1 = core___core__Byte___Object__hash(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#== for (self: Byte, nullable Object): Bool */
-short int standard___standard__Byte___Object___61d_61d(unsigned char self, val* p0) {
+short int core___core__Byte___Object___61d_61d(unsigned char self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 unsigned char var2 /* : Byte */;
-var1 = (p0 != NULL) && (p0->class == &class_standard__Byte);
-if (var1) {
-var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
-var1 = (var2 == self);
-}
+if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Byte)) {
+var2 = ((struct instance_core__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
+var1 = var2 == self;
+} else var1 = 0;
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#== for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Byte___Object___61d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
 { /* Inline kernel#Byte#== (self,p0) on <self:Object(Byte)> */
-var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value);
+var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Byte*)self)->value == ((struct instance_core__Byte*)p0)->value);
 var1 = var3;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
@@ -1365,16 +1346,15 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#!= for (self: Byte, nullable Object): Bool */
-short int standard___standard__Byte___Object___33d_61d(unsigned char self, val* p0) {
+short int core___core__Byte___Object___33d_61d(unsigned char self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 unsigned char var2 /* : Byte */;
 short int var3 /* : Bool */;
-var1 = (p0 != NULL) && (p0->class == &class_standard__Byte);
-if (var1) {
-var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
-var1 = (var2 == self);
-}
+if ((p0 != NULL) && ((((long)p0&3)?class_info[((long)p0&3)]:p0->class) == &class_core__Byte)) {
+var2 = ((struct instance_core__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
+var1 = var2 == self;
+} else var1 = 0;
 var3 = !var1;
 var = var3;
 goto RET_LABEL;
@@ -1382,13 +1362,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#!= for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Byte___Object___33d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Object___33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 { /* Inline kernel#Byte#!= (self,p0) on <self:Object(Byte)> */
-var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value);
+var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_core__Byte*)self)->value == ((struct instance_core__Byte*)p0)->value);
 var4 = !var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1399,7 +1379,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#<= for (self: Byte, Byte): Bool */
-short int standard___standard__Byte___Comparable___60d_61d(unsigned char self, unsigned char p0) {
+short int core___core__Byte___Comparable___60d_61d(unsigned char self, unsigned char p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1410,9 +1390,9 @@ short int var2 /* : Bool */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 618);
 fatal_exit(1);
 }
 var2 = self <= p0;
@@ -1422,7 +1402,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#<= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Byte___Comparable___60d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Comparable___60d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -1436,7 +1416,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Byte#<= (self,p0) on <self:Comparable(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1447,11 +1427,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 618);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Comparable to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
 var6 = var4 <= var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -1462,7 +1442,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#< for (self: Byte, Byte): Bool */
-short int standard___standard__Byte___Comparable___60d(unsigned char self, unsigned char p0) {
+short int core___core__Byte___Comparable___60d(unsigned char self, unsigned char p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1473,9 +1453,9 @@ short int var2 /* : Bool */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
 fatal_exit(1);
 }
 var2 = self < p0;
@@ -1485,7 +1465,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#< for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Byte___Comparable___60d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Comparable___60d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -1499,7 +1479,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Byte#< (self,p0) on <self:Comparable(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1510,11 +1490,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Comparable to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
 var6 = var4 < var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -1525,7 +1505,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#>= for (self: Byte, Byte): Bool */
-short int standard___standard__Byte___Comparable___62d_61d(unsigned char self, unsigned char p0) {
+short int core___core__Byte___Comparable___62d_61d(unsigned char self, unsigned char p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1536,9 +1516,9 @@ short int var2 /* : Bool */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 620);
 fatal_exit(1);
 }
 var2 = self >= p0;
@@ -1548,7 +1528,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#>= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Byte___Comparable___62d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Comparable___62d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -1562,7 +1542,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Byte#>= (self,p0) on <self:Comparable(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1573,11 +1553,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 620);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Comparable to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
 var6 = var4 >= var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -1588,7 +1568,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#> for (self: Byte, Byte): Bool */
-short int standard___standard__Byte___Comparable___62d(unsigned char self, unsigned char p0) {
+short int core___core__Byte___Comparable___62d(unsigned char self, unsigned char p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1599,9 +1579,9 @@ short int var2 /* : Bool */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 621);
 fatal_exit(1);
 }
 var2 = self > p0;
@@ -1611,7 +1591,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#> for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Byte___Comparable___62d(val* self, val* p0) {
+short int VIRTUAL_core___core__Byte___Comparable___62d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -1625,7 +1605,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Byte#> (self,p0) on <self:Comparable(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1636,11 +1616,11 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 621);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Comparable to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
 var6 = var4 > var5;
 var1 = var6;
 goto RET_LABEL2;
@@ -1651,7 +1631,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#+ for (self: Byte, Byte): Byte */
-unsigned char standard___standard__Byte___Numeric___43d(unsigned char self, unsigned char p0) {
+unsigned char core___core__Byte___Numeric___43d(unsigned char self, unsigned char p0) {
 unsigned char var /* : Byte */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1662,9 +1642,9 @@ unsigned char var2 /* : Byte */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 622);
 fatal_exit(1);
 }
 var2 = self + p0;
@@ -1674,7 +1654,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#+ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Byte___Numeric___43d(val* self, val* p0) {
+val* VIRTUAL_core___core__Byte___Numeric___43d(val* self, val* p0) {
 val* var /* : Numeric */;
 unsigned char var1 /* : Byte */;
 short int var3 /* : Bool */;
@@ -1689,7 +1669,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Byte#+ (self,p0) on <self:Numeric(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1700,23 +1680,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 622);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
 var6 = var4 + var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
+var7 = BOX_core__Byte(var1); /* autobox from Byte to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#unary - for (self: Byte): Byte */
-unsigned char standard___standard__Byte___Numeric__unary_32d_45d(unsigned char self) {
+unsigned char core___core__Byte___Numeric__unary_32d_45d(unsigned char self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 var1 = -self;
@@ -1726,26 +1706,26 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#unary - for (self: Numeric): Numeric */
-val* VIRTUAL_standard___standard__Byte___Numeric__unary_32d_45d(val* self) {
+val* VIRTUAL_core___core__Byte___Numeric__unary_32d_45d(val* self) {
 val* var /* : Numeric */;
 unsigned char var1 /* : Byte */;
 unsigned char var3 /* : Byte */;
 unsigned char var4 /* : Byte */;
 val* var5 /* : Numeric */;
 { /* Inline kernel#Byte#unary - (self) on <self:Numeric(Byte)> */
-var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
 var4 = -var3;
 var1 = var4;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var5 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
+var5 = BOX_core__Byte(var1); /* autobox from Byte to Numeric */
 var = var5;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#- for (self: Byte, Byte): Byte */
-unsigned char standard___standard__Byte___Numeric___45d(unsigned char self, unsigned char p0) {
+unsigned char core___core__Byte___Numeric___45d(unsigned char self, unsigned char p0) {
 unsigned char var /* : Byte */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1756,9 +1736,9 @@ unsigned char var2 /* : Byte */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 629);
 fatal_exit(1);
 }
 var2 = self - p0;
@@ -1768,7 +1748,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#- for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Byte___Numeric___45d(val* self, val* p0) {
+val* VIRTUAL_core___core__Byte___Numeric___45d(val* self, val* p0) {
 val* var /* : Numeric */;
 unsigned char var1 /* : Byte */;
 short int var3 /* : Bool */;
@@ -1783,7 +1763,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Byte#- (self,p0) on <self:Numeric(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1794,23 +1774,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 629);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
 var6 = var4 - var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
+var7 = BOX_core__Byte(var1); /* autobox from Byte to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#* for (self: Byte, Byte): Byte */
-unsigned char standard___standard__Byte___Numeric___42d(unsigned char self, unsigned char p0) {
+unsigned char core___core__Byte___Numeric___42d(unsigned char self, unsigned char p0) {
 unsigned char var /* : Byte */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1821,9 +1801,9 @@ unsigned char var2 /* : Byte */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 630);
 fatal_exit(1);
 }
 var2 = self * p0;
@@ -1833,7 +1813,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#* for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Byte___Numeric___42d(val* self, val* p0) {
+val* VIRTUAL_core___core__Byte___Numeric___42d(val* self, val* p0) {
 val* var /* : Numeric */;
 unsigned char var1 /* : Byte */;
 short int var3 /* : Bool */;
@@ -1848,7 +1828,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Byte#* (self,p0) on <self:Numeric(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1859,23 +1839,23 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 630);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
 var6 = var4 * var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
+var7 = BOX_core__Byte(var1); /* autobox from Byte to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#/ for (self: Byte, Byte): Byte */
-unsigned char standard___standard__Byte___Numeric___47d(unsigned char self, unsigned char p0) {
+unsigned char core___core__Byte___Numeric___47d(unsigned char self, unsigned char p0) {
 unsigned char var /* : Byte */;
 short int var1 /* : Bool */;
 int cltype;
@@ -1886,9 +1866,9 @@ unsigned char var2 /* : Byte */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 631);
 fatal_exit(1);
 }
 var2 = self / p0;
@@ -1898,7 +1878,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#/ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Byte___Numeric___47d(val* self, val* p0) {
+val* VIRTUAL_core___core__Byte___Numeric___47d(val* self, val* p0) {
 val* var /* : Numeric */;
 unsigned char var1 /* : Byte */;
 short int var3 /* : Bool */;
@@ -1913,7 +1893,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Byte#/ (self,p0) on <self:Numeric(Byte)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -1924,23 +1904,63 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 631);
 fatal_exit(1);
 }
-var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
-var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
+var4 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var5 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Numeric to Byte */;
 var6 = var4 / var5;
 var1 = var6;
 goto RET_LABEL2;
 RET_LABEL2:(void)0;
 }
-var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */
+var7 = BOX_core__Byte(var1); /* autobox from Byte to Numeric */
 var = var7;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Byte#>> for (self: Byte, Int): Byte */
+unsigned char core___core__Byte____62d_62d(unsigned char self, long p0) {
+unsigned char var /* : Byte */;
+unsigned char var1 /* : Byte */;
+var1 = self >> p0;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Byte#rsh for (self: Byte, Int): Byte */
+unsigned char core___core__Byte___rsh(unsigned char self, long p0) {
+unsigned char var /* : Byte */;
+unsigned char var1 /* : Byte */;
+var1 = kernel___Byte_rsh___impl(self, p0);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Byte#ascii for (self: Byte): Char */
+uint32_t core___core__Byte___ascii(unsigned char self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = (uint32_t)self;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Byte#ffi_ascii for (self: Byte): Char */
+uint32_t core___core__Byte___ffi_ascii(unsigned char self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = kernel___Byte_ffi_ascii___impl(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
 /* method kernel#Byte#to_i for (self: Byte): Int */
-long standard___standard__Byte___Numeric__to_i(unsigned char self) {
+long core___core__Byte___Numeric__to_i(unsigned char self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -1950,13 +1970,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#to_i for (self: Numeric): Int */
-long VIRTUAL_standard___standard__Byte___Numeric__to_i(val* self) {
+long VIRTUAL_core___core__Byte___Numeric__to_i(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 unsigned char var3 /* : Byte */;
 long var4 /* : Int */;
 { /* Inline kernel#Byte#to_i (self) on <self:Numeric(Byte)> */
-var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
 var4 = (long)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1967,7 +1987,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#to_f for (self: Byte): Float */
-double standard___standard__Byte___Numeric__to_f(unsigned char self) {
+double core___core__Byte___Numeric__to_f(unsigned char self) {
 double var /* : Float */;
 double var1 /* : Float */;
 var1 = (double)self;
@@ -1977,13 +1997,13 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#to_f for (self: Numeric): Float */
-double VIRTUAL_standard___standard__Byte___Numeric__to_f(val* self) {
+double VIRTUAL_core___core__Byte___Numeric__to_f(val* self) {
 double var /* : Float */;
 double var1 /* : Float */;
 unsigned char var3 /* : Byte */;
 double var4 /* : Float */;
 { /* Inline kernel#Byte#to_f (self) on <self:Numeric(Byte)> */
-var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var3 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
 var4 = (double)var3;
 var1 = var4;
 goto RET_LABEL2;
@@ -1994,7 +2014,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#to_b for (self: Byte): Byte */
-unsigned char standard___standard__Byte___Numeric__to_b(unsigned char self) {
+unsigned char core___core__Byte___Numeric__to_b(unsigned char self) {
 unsigned char var /* : Byte */;
 var = self;
 goto RET_LABEL;
@@ -2002,18 +2022,18 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#to_b for (self: Numeric): Byte */
-unsigned char VIRTUAL_standard___standard__Byte___Numeric__to_b(val* self) {
+unsigned char VIRTUAL_core___core__Byte___Numeric__to_b(val* self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 unsigned char var2 /* : Byte */;
-var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */;
-var1 = standard___standard__Byte___Numeric__to_b(var2);
+var2 = ((struct instance_core__Byte*)self)->value; /* autounbox from Numeric to Byte */;
+var1 = core___core__Byte___Numeric__to_b(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#distance for (self: Byte, Byte): Int */
-long standard___standard__Byte___Discrete__distance(unsigned char self, unsigned char p0) {
+long core___core__Byte___Discrete__distance(unsigned char self, unsigned char p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2032,9 +2052,9 @@ long var11 /* : Int */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 475);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 669);
 fatal_exit(1);
 }
 var_i = p0;
@@ -2044,9 +2064,9 @@ var_i = p0;
 /* <var_i:Byte> isa OTHER */
 var4 = 1; /* easy <var_i:Byte> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name7 = type_standard__Byte.name;
+var_class_name7 = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 629);
 fatal_exit(1);
 }
 var8 = self - var_i;
@@ -2069,20 +2089,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#distance for (self: Discrete, Discrete): Int */
-long VIRTUAL_standard___standard__Byte___Discrete__distance(val* self, val* p0) {
+long VIRTUAL_core___core__Byte___Discrete__distance(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 unsigned char var2 /* : Byte */;
 unsigned char var3 /* : Byte */;
-var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */;
-var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Discrete to Byte */;
-var1 = standard___standard__Byte___Discrete__distance(var2, var3);
+var2 = ((struct instance_core__Byte*)self)->value; /* autounbox from Discrete to Byte */;
+var3 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Discrete to Byte */;
+var1 = core___core__Byte___Discrete__distance(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#<=> for (self: Byte, Byte): Int */
-long standard___standard__Byte___Comparable___60d_61d_62d(unsigned char self, unsigned char p0) {
+long core___core__Byte___Comparable___60d_61d_62d(unsigned char self, unsigned char p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2107,9 +2127,9 @@ short int var18 /* : Bool */;
 /* <p0:Byte> isa OTHER */
 var1 = 1; /* easy <p0:Byte> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Byte.name;
+var_class_name = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 477);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 671);
 fatal_exit(1);
 }
 var_other = p0;
@@ -2119,9 +2139,9 @@ var_other = p0;
 /* <var_other:Byte> isa OTHER */
 var4 = 1; /* easy <var_other:Byte> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name7 = type_standard__Byte.name;
+var_class_name7 = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
 fatal_exit(1);
 }
 var8 = self < var_other;
@@ -2148,9 +2168,9 @@ goto RET_LABEL;
 /* <self:Byte> isa OTHER */
 var14 = 1; /* easy <self:Byte> isa OTHER*/
 if (unlikely(!var14)) {
-var_class_name17 = type_standard__Byte.name;
+var_class_name17 = type_core__Byte.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
 fatal_exit(1);
 }
 var18 = var_other < self;
@@ -2171,20 +2191,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Byte#<=> for (self: Comparable, Comparable): Int */
-long VIRTUAL_standard___standard__Byte___Comparable___60d_61d_62d(val* self, val* p0) {
+long VIRTUAL_core___core__Byte___Comparable___60d_61d_62d(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 unsigned char var2 /* : Byte */;
 unsigned char var3 /* : Byte */;
-var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */;
-var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
-var1 = standard___standard__Byte___Comparable___60d_61d_62d(var2, var3);
+var2 = ((struct instance_core__Byte*)self)->value; /* autounbox from Comparable to Byte */;
+var3 = ((struct instance_core__Byte*)p0)->value; /* autounbox from Comparable to Byte */;
+var1 = core___core__Byte___Comparable___60d_61d_62d(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#successor for (self: Int, Int): Int */
-long standard___standard__Int___Discrete__successor(long self, long p0) {
+long core___core__Int___Discrete__successor(long self, long p0) {
 long var /* : Int */;
 long var_i /* var i: Int */;
 long var1 /* : Int */;
@@ -2200,9 +2220,9 @@ var_i = p0;
 /* <var_i:Int> isa OTHER */
 var3 = 1; /* easy <var_i:Int> isa OTHER*/
 if (unlikely(!var3)) {
-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);
 }
 var4 = self + var_i;
@@ -2217,20 +2237,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#successor for (self: Discrete, Int): Discrete */
-val* VIRTUAL_standard___standard__Int___Discrete__successor(val* self, long p0) {
+val* VIRTUAL_core___core__Int___Discrete__successor(val* self, long p0) {
 val* var /* : Discrete */;
 long var1 /* : Int */;
 long var2 /* : Int */;
 val* var3 /* : Discrete */;
 var2 = (long)(self)>>2;
-var1 = standard___standard__Int___Discrete__successor(var2, p0);
+var1 = core___core__Int___Discrete__successor(var2, p0);
 var3 = (val*)(var1<<2|1);
 var = var3;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#object_id for (self: Int): Int */
-long standard___standard__Int___Object__object_id(long self) {
+long core___core__Int___Object__object_id(long self) {
 long var /* : Int */;
 var = self;
 goto RET_LABEL;
@@ -2238,7 +2258,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#object_id for (self: Object): Int */
-long VIRTUAL_standard___standard__Int___Object__object_id(val* self) {
+long VIRTUAL_core___core__Int___Object__object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var3 /* : Int */;
@@ -2253,7 +2273,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#hash for (self: Int): Int */
-long standard___standard__Int___Object__hash(long self) {
+long core___core__Int___Object__hash(long self) {
 long var /* : Int */;
 var = self;
 goto RET_LABEL;
@@ -2261,30 +2281,32 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#hash for (self: Object): Int */
-long VIRTUAL_standard___standard__Int___Object__hash(val* self) {
+long VIRTUAL_core___core__Int___Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
 var2 = (long)(self)>>2;
-var1 = standard___standard__Int___Object__hash(var2);
+var1 = core___core__Int___Object__hash(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#== for (self: Int, nullable Object): Bool */
-short int standard___standard__Int___Object___61d_61d(long self, val* p0) {
+short int core___core__Int___Object___61d_61d(long self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 long var2 /* : Int */;
+if ((p0 != NULL) && (((long)p0&3) == 1)) {
 var2 = (long)(p0)>>2;
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#== for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2299,13 +2321,15 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#!= for (self: Int, nullable Object): Bool */
-short int standard___standard__Int___Object___33d_61d(long self, val* p0) {
+short int core___core__Int___Object___33d_61d(long self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 long var2 /* : Int */;
 short int var3 /* : Bool */;
+if ((p0 != NULL) && (((long)p0&3) == 1)) {
 var2 = (long)(p0)>>2;
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var3 = !var1;
 var = var3;
 goto RET_LABEL;
@@ -2313,7 +2337,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#!= for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Object___33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2330,7 +2354,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#<= for (self: Int, Int): Bool */
-short int standard___standard__Int___Comparable___60d_61d(long self, long p0) {
+short int core___core__Int___Comparable___60d_61d(long self, long p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2341,9 +2365,9 @@ short int var2 /* : Bool */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var2 = self <= p0;
@@ -2353,7 +2377,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#<= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Comparable___60d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2367,7 +2391,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Int#<= (self,p0) on <self:Comparable(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2378,7 +2402,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var4 = (long)(self)>>2;
@@ -2393,7 +2417,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#< for (self: Int, Int): Bool */
-short int standard___standard__Int___Comparable___60d(long self, long p0) {
+short int core___core__Int___Comparable___60d(long self, long p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2404,9 +2428,9 @@ short int var2 /* : Bool */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self < p0;
@@ -2416,7 +2440,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#< for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Comparable___60d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2430,7 +2454,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Int#< (self,p0) on <self:Comparable(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2441,7 +2465,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2456,7 +2480,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#>= for (self: Int, Int): Bool */
-short int standard___standard__Int___Comparable___62d_61d(long self, long p0) {
+short int core___core__Int___Comparable___62d_61d(long self, long p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2467,9 +2491,9 @@ short int var2 /* : Bool */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self >= p0;
@@ -2479,7 +2503,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#>= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Comparable___62d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2493,7 +2517,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Int#>= (self,p0) on <self:Comparable(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2504,7 +2528,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2519,7 +2543,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#> for (self: Int, Int): Bool */
-short int standard___standard__Int___Comparable___62d(long self, long p0) {
+short int core___core__Int___Comparable___62d(long self, long p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2530,9 +2554,9 @@ short int var2 /* : Bool */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self > p0;
@@ -2542,7 +2566,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#> for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) {
+short int VIRTUAL_core___core__Int___Comparable___62d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -2556,7 +2580,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Int#> (self,p0) on <self:Comparable(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2567,7 +2591,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2582,7 +2606,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#+ for (self: Int, Int): Int */
-long standard___standard__Int___Numeric___43d(long self, long p0) {
+long core___core__Int___Numeric___43d(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2593,9 +2617,9 @@ long var2 /* : Int */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self + p0;
@@ -2605,7 +2629,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) {
+val* VIRTUAL_core___core__Int___Numeric___43d(val* self, val* p0) {
 val* var /* : Numeric */;
 long var1 /* : Int */;
 short int var3 /* : Bool */;
@@ -2620,7 +2644,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Int#+ (self,p0) on <self:Numeric(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2631,7 +2655,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2647,7 +2671,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#unary - for (self: Int): Int */
-long standard___standard__Int___Numeric__unary_32d_45d(long self) {
+long core___core__Int___Numeric__unary_32d_45d(long self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = -self;
@@ -2657,7 +2681,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#unary - for (self: Numeric): Numeric */
-val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) {
+val* VIRTUAL_core___core__Int___Numeric__unary_32d_45d(val* self) {
 val* var /* : Numeric */;
 long var1 /* : Int */;
 long var3 /* : Int */;
@@ -2676,7 +2700,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#- for (self: Int, Int): Int */
-long standard___standard__Int___Numeric___45d(long self, long p0) {
+long core___core__Int___Numeric___45d(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2687,9 +2711,9 @@ long var2 /* : Int */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self - p0;
@@ -2699,7 +2723,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#- for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) {
+val* VIRTUAL_core___core__Int___Numeric___45d(val* self, val* p0) {
 val* var /* : Numeric */;
 long var1 /* : Int */;
 short int var3 /* : Bool */;
@@ -2714,7 +2738,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Int#- (self,p0) on <self:Numeric(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2725,7 +2749,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2741,7 +2765,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#* for (self: Int, Int): Int */
-long standard___standard__Int___Numeric___42d(long self, long p0) {
+long core___core__Int___Numeric___42d(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2752,9 +2776,9 @@ long var2 /* : Int */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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);
 }
 var2 = self * p0;
@@ -2764,7 +2788,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#* for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) {
+val* VIRTUAL_core___core__Int___Numeric___42d(val* self, val* p0) {
 val* var /* : Numeric */;
 long var1 /* : Int */;
 short int var3 /* : Bool */;
@@ -2779,7 +2803,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Int#* (self,p0) on <self:Numeric(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2790,7 +2814,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "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);
 }
 var4 = (long)(self)>>2;
@@ -2806,7 +2830,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#/ for (self: Int, Int): Int */
-long standard___standard__Int___Numeric___47d(long self, long p0) {
+long core___core__Int___Numeric___47d(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2817,9 +2841,9 @@ long var2 /* : Int */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var2 = self / p0;
@@ -2829,7 +2853,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */
-val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) {
+val* VIRTUAL_core___core__Int___Numeric___47d(val* self, val* p0) {
 val* var /* : Numeric */;
 long var1 /* : Int */;
 short int var3 /* : Bool */;
@@ -2844,7 +2868,7 @@ val* var7 /* : Numeric */;
 { /* Inline kernel#Int#/ (self,p0) on <self:Numeric(Int)> */
 /* Covariant cast for argument 0 (i) <p0:Numeric> isa OTHER */
 /* <p0:Numeric> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -2855,7 +2879,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var4 = (long)(self)>>2;
@@ -2871,7 +2895,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#% for (self: Int, Int): Int */
-long standard___standard__Int____37d(long self, long p0) {
+long core___core__Int____37d(long self, long p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = self % p0;
@@ -2880,8 +2904,8 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method kernel#Int#lshift for (self: Int, Int): Int */
-long standard___standard__Int___lshift(long self, long p0) {
+/* method kernel#Int#<< for (self: Int, Int): Int */
+long core___core__Int____60d_60d(long self, long p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = self << p0;
@@ -2890,8 +2914,38 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Int#lsh for (self: Int, Int): Int */
+long core___core__Int___lsh(long self, long p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = kernel___Int_lsh___impl(self, p0);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#>> for (self: Int, Int): Int */
+long core___core__Int____62d_62d(long self, long p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self >> p0;
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Int#rsh for (self: Int, Int): Int */
+long core___core__Int___rsh(long self, long p0) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = kernel___Int_rsh___impl(self, p0);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
 /* method kernel#Int#to_i for (self: Int): Int */
-long standard___standard__Int___Numeric__to_i(long self) {
+long core___core__Int___Numeric__to_i(long self) {
 long var /* : Int */;
 var = self;
 goto RET_LABEL;
@@ -2899,18 +2953,18 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_i for (self: Numeric): Int */
-long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) {
+long VIRTUAL_core___core__Int___Numeric__to_i(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
 var2 = (long)(self)>>2;
-var1 = standard___standard__Int___Numeric__to_i(var2);
+var1 = core___core__Int___Numeric__to_i(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_f for (self: Int): Float */
-double standard___standard__Int___Numeric__to_f(long self) {
+double core___core__Int___Numeric__to_f(long self) {
 double var /* : Float */;
 double var1 /* : Float */;
 var1 = (double)self;
@@ -2920,7 +2974,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_f for (self: Numeric): Float */
-double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) {
+double VIRTUAL_core___core__Int___Numeric__to_f(val* self) {
 double var /* : Float */;
 double var1 /* : Float */;
 long var3 /* : Int */;
@@ -2937,7 +2991,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_b for (self: Int): Byte */
-unsigned char standard___standard__Int___Numeric__to_b(long self) {
+unsigned char core___core__Int___Numeric__to_b(long self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 var1 = (unsigned char)self;
@@ -2947,7 +3001,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_b for (self: Numeric): Byte */
-unsigned char VIRTUAL_standard___standard__Int___Numeric__to_b(val* self) {
+unsigned char VIRTUAL_core___core__Int___Numeric__to_b(val* self) {
 unsigned char var /* : Byte */;
 unsigned char var1 /* : Byte */;
 long var3 /* : Int */;
@@ -2964,7 +3018,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#distance for (self: Int, Int): Int */
-long standard___standard__Int___Discrete__distance(long self, long p0) {
+long core___core__Int___Discrete__distance(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -2990,9 +3044,9 @@ long var18 /* : Int */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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, 575);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 767);
 fatal_exit(1);
 }
 var_i = p0;
@@ -3002,9 +3056,9 @@ var_i = p0;
 /* <var_i:Int> isa OTHER */
 var4 = 1; /* easy <var_i: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, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var8 = self - var_i;
@@ -3020,9 +3074,9 @@ var_d = var2;
 /* <0l:Int> isa OTHER */
 var11 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var11)) {
-var_class_name14 = type_standard__Int.name;
+var_class_name14 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var15 = var_d >= 0l;
@@ -3050,20 +3104,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#distance for (self: Discrete, Discrete): Int */
-long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) {
+long VIRTUAL_core___core__Int___Discrete__distance(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
 long var3 /* : Int */;
 var2 = (long)(self)>>2;
 var3 = (long)(p0)>>2;
-var1 = standard___standard__Int___Discrete__distance(var2, var3);
+var1 = core___core__Int___Discrete__distance(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Int#<=> for (self: Int, Int): Int */
-long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) {
+long core___core__Int___Comparable___60d_61d_62d(long self, long p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -3088,9 +3142,9 @@ short int var18 /* : Bool */;
 /* <p0:Int> isa OTHER */
 var1 = 1; /* easy <p0:Int> isa OTHER*/
 if (unlikely(!var1)) {
-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, 585);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 777);
 fatal_exit(1);
 }
 var_other = p0;
@@ -3100,9 +3154,9 @@ var_other = p0;
 /* <var_other:Int> isa OTHER */
 var4 = 1; /* easy <var_other: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, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var8 = self < var_other;
@@ -3129,9 +3183,9 @@ goto RET_LABEL;
 /* <self:Int> isa OTHER */
 var14 = 1; /* easy <self: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, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var18 = var_other < self;
@@ -3152,20 +3206,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#<=> for (self: Comparable, Comparable): Int */
-long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) {
+long VIRTUAL_core___core__Int___Comparable___60d_61d_62d(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var2 /* : Int */;
 long var3 /* : Int */;
 var2 = (long)(self)>>2;
 var3 = (long)(p0)>>2;
-var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3);
+var1 = core___core__Int___Comparable___60d_61d_62d(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
-/* method kernel#Int#ascii for (self: Int): Char */
-uint32_t standard___standard__Int___ascii(long self) {
+/* method kernel#Int#code_point for (self: Int): Char */
+uint32_t core___core__Int___code_point(long self) {
 uint32_t var /* : Char */;
 uint32_t var1 /* : Char */;
 var1 = (uint32_t)self;
@@ -3174,8 +3228,18 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Int#cp for (self: Int): Char */
+uint32_t core___core__Int___cp(long self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = kernel___Int_cp___impl(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
 /* method kernel#Int#digit_count for (self: Int, Int): Int */
-long standard___standard__Int___digit_count(long self, long p0) {
+long core___core__Int___digit_count(long self, long p0) {
 long var /* : Int */;
 long var_b /* var b: Int */;
 short int var1 /* : Bool */;
@@ -3222,7 +3286,7 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 {
-var4 = standard___standard__Int___digit_count_base_95d10(self);
+var4 = core___core__Int___digit_count_base_95d10(self);
 }
 var = var4;
 goto RET_LABEL;
@@ -3234,9 +3298,9 @@ goto RET_LABEL;
 /* <0l:Int> isa OTHER */
 var7 = 1; /* easy <0l: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, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var8 = self < 0l;
@@ -3280,9 +3344,9 @@ for(;;) {
 /* <0l:Int> isa OTHER */
 var17 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var17)) {
-var_class_name20 = type_standard__Int.name;
+var_class_name20 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var21 = var_n > 0l;
@@ -3298,9 +3362,9 @@ if (var15){
 /* <1l:Int> isa OTHER */
 var24 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var24)) {
-var_class_name27 = type_standard__Int.name;
+var_class_name27 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var28 = var_d + 1l;
@@ -3316,9 +3380,9 @@ var_d = var22;
 /* <var_b:Int> isa OTHER */
 var31 = 1; /* easy <var_b:Int> isa OTHER*/
 if (unlikely(!var31)) {
-var_class_name34 = type_standard__Int.name;
+var_class_name34 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var35 = var_n / var_b;
@@ -3339,7 +3403,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#digit_count_base_10 for (self: Int): Int */
-long standard___standard__Int___digit_count_base_95d10(long self) {
+long core___core__Int___digit_count_base_95d10(long self) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -3411,9 +3475,9 @@ long var70 /* : Int */;
 /* <0l:Int> isa OTHER */
 var3 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var3)) {
-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);
 }
 var4 = self < 0l;
@@ -3444,9 +3508,9 @@ for(;;) {
 /* <10l:Int> isa OTHER */
 var10 = 1; /* easy <10l: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, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var14 = var_val < 10l;
@@ -3466,9 +3530,9 @@ goto RET_LABEL;
 /* <100l:Int> isa OTHER */
 var17 = 1; /* easy <100l:Int> isa OTHER*/
 if (unlikely(!var17)) {
-var_class_name20 = type_standard__Int.name;
+var_class_name20 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var21 = var_val < 100l;
@@ -3484,9 +3548,9 @@ if (var15){
 /* <1l:Int> isa OTHER */
 var24 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var24)) {
-var_class_name27 = type_standard__Int.name;
+var_class_name27 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var28 = var_result + 1l;
@@ -3505,9 +3569,9 @@ goto RET_LABEL;
 /* <1000l:Int> isa OTHER */
 var31 = 1; /* easy <1000l:Int> isa OTHER*/
 if (unlikely(!var31)) {
-var_class_name34 = type_standard__Int.name;
+var_class_name34 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var35 = var_val < 1000l;
@@ -3523,9 +3587,9 @@ if (var29){
 /* <2l:Int> isa OTHER */
 var38 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var38)) {
-var_class_name41 = type_standard__Int.name;
+var_class_name41 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var42 = var_result + 2l;
@@ -3544,9 +3608,9 @@ goto RET_LABEL;
 /* <10000l:Int> isa OTHER */
 var45 = 1; /* easy <10000l:Int> isa OTHER*/
 if (unlikely(!var45)) {
-var_class_name48 = type_standard__Int.name;
+var_class_name48 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var49 = var_val < 10000l;
@@ -3562,9 +3626,9 @@ if (var43){
 /* <3l:Int> isa OTHER */
 var52 = 1; /* easy <3l:Int> isa OTHER*/
 if (unlikely(!var52)) {
-var_class_name55 = type_standard__Int.name;
+var_class_name55 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var56 = var_result + 3l;
@@ -3583,9 +3647,9 @@ goto RET_LABEL;
 /* <10000l:Int> isa OTHER */
 var59 = 1; /* easy <10000l:Int> isa OTHER*/
 if (unlikely(!var59)) {
-var_class_name62 = type_standard__Int.name;
+var_class_name62 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var63 = var_val / 10000l;
@@ -3601,9 +3665,9 @@ var_val = var57;
 /* <4l:Int> isa OTHER */
 var66 = 1; /* easy <4l:Int> isa OTHER*/
 if (unlikely(!var66)) {
-var_class_name69 = type_standard__Int.name;
+var_class_name69 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var70 = var_result + 4l;
@@ -3618,7 +3682,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#to_c for (self: Int): Char */
-uint32_t standard___standard__Int___to_c(long self) {
+uint32_t core___core__Int___to_c(long self) {
 uint32_t var /* : Char */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
@@ -3651,12 +3715,12 @@ long var29 /* : Int */;
 uint32_t var30 /* : Char */;
 uint32_t var32 /* : Char */;
 long var33 /* : Int */;
-long var35 /* : Int */;
-long var36 /* : Int */;
-short int var38 /* : Bool */;
-int cltype39;
-int idtype40;
-const char* var_class_name41;
+short int var35 /* : Bool */;
+int cltype36;
+int idtype37;
+const char* var_class_name38;
+long var39 /* : Int */;
+long var40 /* : Int */;
 long var42 /* : Int */;
 long var43 /* : Int */;
 short int var45 /* : Bool */;
@@ -3672,9 +3736,9 @@ uint32_t var52 /* : Char */;
 /* <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, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var5 = self >= 0l;
@@ -3691,9 +3755,9 @@ if (var2){
 /* <36l:Int> isa OTHER */
 var8 = 1; /* easy <36l:Int> isa OTHER*/
 if (unlikely(!var8)) {
-var_class_name11 = type_standard__Int.name;
+var_class_name11 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var12 = self <= 36l;
@@ -3708,7 +3772,7 @@ var1 = var_;
 }
 if (unlikely(!var1)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 685);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 880);
 fatal_exit(1);
 }
 {
@@ -3717,9 +3781,9 @@ fatal_exit(1);
 /* <10l:Int> isa OTHER */
 var15 = 1; /* easy <10l:Int> isa OTHER*/
 if (unlikely(!var15)) {
-var_class_name18 = type_standard__Int.name;
+var_class_name18 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var19 = self < 10l;
@@ -3730,7 +3794,7 @@ RET_LABEL14:(void)0;
 }
 if (var13){
 {
-{ /* Inline kernel#Char#ascii ('0') on <'0':Char> */
+{ /* Inline kernel#Char#code_point ('0') on <'0':Char> */
 var22 = (long)'0';
 var20 = var22;
 goto RET_LABEL21;
@@ -3743,9 +3807,9 @@ RET_LABEL21:(void)0;
 /* <var20:Int> isa OTHER */
 var25 = 1; /* easy <var20:Int> isa OTHER*/
 if (unlikely(!var25)) {
-var_class_name28 = type_standard__Int.name;
+var_class_name28 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var29 = self + var20;
@@ -3755,7 +3819,7 @@ RET_LABEL24:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#ascii (var23) on <var23:Int> */
+{ /* Inline kernel#Int#code_point (var23) on <var23:Int> */
 var32 = (uint32_t)var23;
 var30 = var32;
 goto RET_LABEL31;
@@ -3766,49 +3830,49 @@ var = var30;
 goto RET_LABEL;
 } else {
 {
-{ /* Inline kernel#Char#ascii ('a') on <'a':Char> */
-var35 = (long)'a';
-var33 = var35;
+{ /* Inline kernel#Int#- (self,10l) on <self:Int> */
+/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
+/* <10l:Int> isa OTHER */
+var35 = 1; /* easy <10l:Int> isa OTHER*/
+if (unlikely(!var35)) {
+var_class_name38 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
+fatal_exit(1);
+}
+var39 = self - 10l;
+var33 = var39;
 goto RET_LABEL34;
 RET_LABEL34:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#- (var33,10l) on <var33:Int> */
-/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */
-/* <10l:Int> isa OTHER */
-var38 = 1; /* easy <10l:Int> isa OTHER*/
-if (unlikely(!var38)) {
-var_class_name41 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
-fatal_exit(1);
-}
-var42 = var33 - 10l;
-var36 = var42;
-goto RET_LABEL37;
-RET_LABEL37:(void)0;
+{ /* Inline kernel#Char#code_point ('a') on <'a':Char> */
+var42 = (long)'a';
+var40 = var42;
+goto RET_LABEL41;
+RET_LABEL41:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#+ (self,var36) on <self:Int> */
-/* Covariant cast for argument 0 (i) <var36:Int> isa OTHER */
-/* <var36:Int> isa OTHER */
-var45 = 1; /* easy <var36:Int> isa OTHER*/
+{ /* Inline kernel#Int#+ (var33,var40) on <var33:Int> */
+/* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
+/* <var40:Int> isa OTHER */
+var45 = 1; /* easy <var40:Int> isa OTHER*/
 if (unlikely(!var45)) {
-var_class_name48 = type_standard__Int.name;
+var_class_name48 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
-var49 = self + var36;
+var49 = var33 + var40;
 var43 = var49;
 goto RET_LABEL44;
 RET_LABEL44:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#ascii (var43) on <var43:Int> */
+{ /* Inline kernel#Int#code_point (var43) on <var43:Int> */
 var52 = (uint32_t)var43;
 var50 = var52;
 goto RET_LABEL51;
@@ -3822,76 +3886,54 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Int#abs for (self: Int): Int */
-long standard___standard__Int___abs(long self) {
+long core___core__Int___abs(long self) {
 long var /* : Int */;
-short int var1 /* : Bool */;
-short int var3 /* : Bool */;
+long var1 /* : Int */;
+short int var2 /* : Bool */;
+short int var4 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var4 /* : Bool */;
-long var5 /* : Int */;
-long var7 /* : Int */;
+short int var5 /* : Bool */;
+long var6 /* : Int */;
 long var8 /* : Int */;
-short int var10 /* : Bool */;
-int cltype11;
-int idtype12;
-const char* var_class_name13;
-long var14 /* : Int */;
 {
 { /* Inline kernel#Int#>= (self,0l) on <self: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_standard__Int.name;
+var4 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var4)) {
+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);
 }
-var4 = self >= 0l;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
+var5 = self >= 0l;
+var2 = var5;
+goto RET_LABEL3;
+RET_LABEL3:(void)0;
 }
 }
-if (var1){
-var = self;
-goto RET_LABEL;
+if (var2){
+var1 = self;
 } else {
 {
-{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
-var7 = -1l;
-var5 = var7;
-goto RET_LABEL6;
-RET_LABEL6:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#* (var5,self) on <var5:Int> */
-/* Covariant cast for argument 0 (i) <self:Int> isa OTHER */
-/* <self:Int> isa OTHER */
-var10 = 1; /* easy <self:Int> isa OTHER*/
-if (unlikely(!var10)) {
-var_class_name13 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
-fatal_exit(1);
+{ /* Inline kernel#Int#unary - (self) on <self:Int> */
+var8 = -self;
+var6 = var8;
+goto RET_LABEL7;
+RET_LABEL7:(void)0;
 }
-var14 = var5 * self;
-var8 = var14;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
 }
+var1 = var6;
 }
-var = var8;
+var = var1;
 goto RET_LABEL;
-}
 RET_LABEL:;
 return var;
 }
 /* method kernel#Char#object_id for (self: Char): Int */
-long standard___standard__Char___Object__object_id(uint32_t self) {
+long core___core__Char___Object__object_id(uint32_t self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -3901,7 +3943,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#object_id for (self: Object): Int */
-long VIRTUAL_standard___standard__Char___Object__object_id(val* self) {
+long VIRTUAL_core___core__Char___Object__object_id(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 uint32_t var3 /* : Char */;
@@ -3918,12 +3960,12 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#hash for (self: Char): Int */
-long standard___standard__Char___Object__hash(uint32_t self) {
+long core___core__Char___Object__hash(uint32_t self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var3 /* : Int */;
 {
-{ /* Inline kernel#Char#ascii (self) on <self:Char> */
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
 var3 = (long)self;
 var1 = var3;
 goto RET_LABEL2;
@@ -3936,30 +3978,32 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#hash for (self: Object): Int */
-long VIRTUAL_standard___standard__Char___Object__hash(val* self) {
+long VIRTUAL_core___core__Char___Object__hash(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 uint32_t var2 /* : Char */;
 var2 = (uint32_t)((long)(self)>>2);
-var1 = standard___standard__Char___Object__hash(var2);
+var1 = core___core__Char___Object__hash(var2);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Char#== for (self: Char, nullable Object): Bool */
-short int standard___standard__Char___Object___61d_61d(uint32_t self, val* p0) {
+short int core___core__Char___Object___61d_61d(uint32_t self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 uint32_t var2 /* : Char */;
+if ((p0 != NULL) && (((long)p0&3) == 2)) {
 var2 = (uint32_t)((long)(p0)>>2);
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Char#== for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Char___Object___61d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Object___61d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -3974,13 +4018,15 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#!= for (self: Char, nullable Object): Bool */
-short int standard___standard__Char___Object___33d_61d(uint32_t self, val* p0) {
+short int core___core__Char___Object___33d_61d(uint32_t self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 uint32_t var2 /* : Char */;
 short int var3 /* : Bool */;
+if ((p0 != NULL) && (((long)p0&3) == 2)) {
 var2 = (uint32_t)((long)(p0)>>2);
-var1 = (p0 != NULL) && (var2 == self);
+var1 = var2 == self;
+} else var1 = 0;
 var3 = !var1;
 var = var3;
 goto RET_LABEL;
@@ -3988,7 +4034,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#!= for (self: Object, nullable Object): Bool */
-short int VIRTUAL_standard___standard__Char___Object___33d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Object___33d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4005,7 +4051,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#<= for (self: Char, Char): Bool */
-short int standard___standard__Char___Comparable___60d_61d(uint32_t self, uint32_t p0) {
+short int core___core__Char___Comparable___60d_61d(uint32_t self, uint32_t p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -4016,9 +4062,9 @@ short int var2 /* : Bool */;
 /* <p0:Char> isa OTHER */
 var1 = 1; /* easy <p0:Char> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
 var2 = self <= p0;
@@ -4028,7 +4074,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#<= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Char___Comparable___60d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Comparable___60d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4042,7 +4088,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Char#<= (self,p0) on <self:Comparable(Char)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -4053,7 +4099,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
 var4 = (uint32_t)((long)(self)>>2);
@@ -4068,7 +4114,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#< for (self: Char, Char): Bool */
-short int standard___standard__Char___Comparable___60d(uint32_t self, uint32_t p0) {
+short int core___core__Char___Comparable___60d(uint32_t self, uint32_t p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -4079,9 +4125,9 @@ short int var2 /* : Bool */;
 /* <p0:Char> isa OTHER */
 var1 = 1; /* easy <p0:Char> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 923);
 fatal_exit(1);
 }
 var2 = self < p0;
@@ -4091,7 +4137,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#< for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Char___Comparable___60d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Comparable___60d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4105,7 +4151,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Char#< (self,p0) on <self:Comparable(Char)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -4116,7 +4162,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 923);
 fatal_exit(1);
 }
 var4 = (uint32_t)((long)(self)>>2);
@@ -4131,7 +4177,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#>= for (self: Char, Char): Bool */
-short int standard___standard__Char___Comparable___62d_61d(uint32_t self, uint32_t p0) {
+short int core___core__Char___Comparable___62d_61d(uint32_t self, uint32_t p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -4142,9 +4188,9 @@ short int var2 /* : Bool */;
 /* <p0:Char> isa OTHER */
 var1 = 1; /* easy <p0:Char> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
 var2 = self >= p0;
@@ -4154,7 +4200,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#>= for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Char___Comparable___62d_61d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Comparable___62d_61d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4168,7 +4214,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Char#>= (self,p0) on <self:Comparable(Char)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -4179,7 +4225,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
 var4 = (uint32_t)((long)(self)>>2);
@@ -4194,7 +4240,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#> for (self: Char, Char): Bool */
-short int standard___standard__Char___Comparable___62d(uint32_t self, uint32_t p0) {
+short int core___core__Char___Comparable___62d(uint32_t self, uint32_t p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 int cltype;
@@ -4205,9 +4251,9 @@ short int var2 /* : Bool */;
 /* <p0:Char> isa OTHER */
 var1 = 1; /* easy <p0:Char> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 925);
 fatal_exit(1);
 }
 var2 = self > p0;
@@ -4217,7 +4263,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#> for (self: Comparable, Comparable): Bool */
-short int VIRTUAL_standard___standard__Char___Comparable___62d(val* self, val* p0) {
+short int VIRTUAL_core___core__Char___Comparable___62d(val* self, val* p0) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4231,7 +4277,7 @@ short int var6 /* : Bool */;
 { /* Inline kernel#Char#> (self,p0) on <self:Comparable(Char)> */
 /* Covariant cast for argument 0 (i) <p0:Comparable> isa OTHER */
 /* <p0:Comparable> isa OTHER */
-type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
+type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) {
@@ -4242,7 +4288,7 @@ var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id
 if (unlikely(!var3)) {
 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`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 925);
 fatal_exit(1);
 }
 var4 = (uint32_t)((long)(self)>>2);
@@ -4257,7 +4303,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#successor for (self: Char, Int): Char */
-uint32_t standard___standard__Char___Discrete__successor(uint32_t self, long p0) {
+uint32_t core___core__Char___Discrete__successor(uint32_t self, long p0) {
 uint32_t var /* : Char */;
 uint32_t var1 /* : Char */;
 var1 = self + p0;
@@ -4267,7 +4313,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#successor for (self: Discrete, Int): Discrete */
-val* VIRTUAL_standard___standard__Char___Discrete__successor(val* self, long p0) {
+val* VIRTUAL_core___core__Char___Discrete__successor(val* self, long p0) {
 val* var /* : Discrete */;
 uint32_t var1 /* : Char */;
 uint32_t var3 /* : Char */;
@@ -4286,7 +4332,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#distance for (self: Char, Char): Int */
-long standard___standard__Char___Discrete__distance(uint32_t self, uint32_t p0) {
+long core___core__Char___Discrete__distance(uint32_t self, uint32_t p0) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 int cltype;
@@ -4316,14 +4362,14 @@ long var24 /* : Int */;
 /* <p0:Char> isa OTHER */
 var1 = 1; /* easy <p0:Char> isa OTHER*/
 if (unlikely(!var1)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 730);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 930);
 fatal_exit(1);
 }
 var_c = p0;
 {
-{ /* Inline kernel#Char#ascii (self) on <self:Char> */
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
 var4 = (long)self;
 var2 = var4;
 goto RET_LABEL3;
@@ -4331,7 +4377,7 @@ RET_LABEL3:(void)0;
 }
 }
 {
-{ /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
+{ /* Inline kernel#Char#code_point (var_c) on <var_c:Char> */
 var7 = (long)var_c;
 var5 = var7;
 goto RET_LABEL6;
@@ -4344,9 +4390,9 @@ RET_LABEL6:(void)0;
 /* <var5:Int> isa OTHER */
 var10 = 1; /* easy <var5: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 = var2 - var5;
@@ -4362,9 +4408,9 @@ var_d = var8;
 /* <0l:Int> isa OTHER */
 var17 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var17)) {
-var_class_name20 = type_standard__Int.name;
+var_class_name20 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var21 = var_d >= 0l;
@@ -4392,20 +4438,20 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#distance for (self: Discrete, Discrete): Int */
-long VIRTUAL_standard___standard__Char___Discrete__distance(val* self, val* p0) {
+long VIRTUAL_core___core__Char___Discrete__distance(val* self, val* p0) {
 long var /* : Int */;
 long var1 /* : Int */;
 uint32_t var2 /* : Char */;
 uint32_t var3 /* : Char */;
 var2 = (uint32_t)((long)(self)>>2);
 var3 = (uint32_t)((long)(p0)>>2);
-var1 = standard___standard__Char___Discrete__distance(var2, var3);
+var1 = core___core__Char___Discrete__distance(var2, var3);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method kernel#Char#to_i for (self: Char): Int */
-long standard___standard__Char___to_i(uint32_t self) {
+long core___core__Char___to_i(uint32_t self) {
 long var /* : Int */;
 short int var1 /* : Bool */;
 short int var3 /* : Bool */;
@@ -4460,11 +4506,11 @@ var = var4;
 goto RET_LABEL;
 } else {
 {
-var7 = standard___standard__Char___is_digit(self);
+var7 = core___core__Char___is_digit(self);
 }
 if (var7){
 {
-{ /* Inline kernel#Char#ascii (self) on <self:Char> */
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
 var10 = (long)self;
 var8 = var10;
 goto RET_LABEL9;
@@ -4472,7 +4518,7 @@ RET_LABEL9:(void)0;
 }
 }
 {
-{ /* Inline kernel#Char#ascii ('0') on <'0':Char> */
+{ /* Inline kernel#Char#code_point ('0') on <'0':Char> */
 var13 = (long)'0';
 var11 = var13;
 goto RET_LABEL12;
@@ -4485,9 +4531,9 @@ RET_LABEL12:(void)0;
 /* <var11:Int> isa OTHER */
 var16 = 1; /* easy <var11:Int> isa OTHER*/
 if (unlikely(!var16)) {
-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);
 }
 var17 = var8 - var11;
@@ -4500,10 +4546,10 @@ var = var14;
 goto RET_LABEL;
 } else {
 {
-var18 = standard___standard__Char___to_lower(self);
+var18 = core___core__Char___to_lower(self);
 }
 {
-{ /* Inline kernel#Char#ascii (var18) on <var18:Char> */
+{ /* Inline kernel#Char#code_point (var18) on <var18:Char> */
 var21 = (long)var18;
 var19 = var21;
 goto RET_LABEL20;
@@ -4511,7 +4557,7 @@ RET_LABEL20:(void)0;
 }
 }
 {
-{ /* Inline kernel#Char#ascii ('a') on <'a':Char> */
+{ /* Inline kernel#Char#code_point ('a') on <'a':Char> */
 var24 = (long)'a';
 var22 = var24;
 goto RET_LABEL23;
@@ -4524,9 +4570,9 @@ RET_LABEL23:(void)0;
 /* <var22:Int> isa OTHER */
 var27 = 1; /* easy <var22:Int> isa OTHER*/
 if (unlikely(!var27)) {
-var_class_name30 = type_standard__Int.name;
+var_class_name30 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var31 = var19 - var22;
@@ -4541,9 +4587,9 @@ RET_LABEL26:(void)0;
 /* <10l:Int> isa OTHER */
 var34 = 1; /* easy <10l:Int> isa OTHER*/
 if (unlikely(!var34)) {
-var_class_name37 = type_standard__Int.name;
+var_class_name37 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var38 = var25 + 10l;
@@ -4559,8 +4605,36 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method kernel#Char#ascii for (self: Char): Int */
-long standard___standard__Char___ascii(uint32_t self) {
+/* method kernel#Char#ascii for (self: Char): Byte */
+unsigned char core___core__Char___ascii(uint32_t self) {
+unsigned char var /* : Byte */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+unsigned char var4 /* : Byte */;
+unsigned char var6 /* : Byte */;
+{
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
+var3 = (long)self;
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#to_b (var1) on <var1:Int> */
+var6 = (unsigned char)var1;
+var4 = var6;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method kernel#Char#code_point for (self: Char): Int */
+long core___core__Char___code_point(uint32_t self) {
 long var /* : Int */;
 long var1 /* : Int */;
 var1 = (long)self;
@@ -4569,8 +4643,18 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Char#cp for (self: Char): Int */
+long core___core__Char___cp(uint32_t self) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = kernel___Char_cp___impl(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
 /* method kernel#Char#to_lower for (self: Char): Char */
-uint32_t standard___standard__Char___to_lower(uint32_t self) {
+uint32_t core___core__Char___to_lower(uint32_t self) {
 uint32_t var /* : Char */;
 short int var1 /* : Bool */;
 long var2 /* : Int */;
@@ -4585,11 +4669,11 @@ long var9 /* : Int */;
 uint32_t var10 /* : Char */;
 uint32_t var12 /* : Char */;
 {
-var1 = standard___standard__Char___is_upper(self);
+var1 = core___core__Char___is_upper(self);
 }
 if (var1){
 {
-{ /* Inline kernel#Char#ascii (self) on <self:Char> */
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
 var4 = (long)self;
 var2 = var4;
 goto RET_LABEL3;
@@ -4597,7 +4681,7 @@ RET_LABEL3:(void)0;
 }
 }
 {
-var5 = standard___standard__Char___Discrete__distance('a', 'A');
+var5 = core___core__Char___Discrete__distance('a', 'A');
 }
 {
 { /* Inline kernel#Int#+ (var2,var5) on <var2:Int> */
@@ -4605,9 +4689,9 @@ var5 = standard___standard__Char___Discrete__distance('a', 'A');
 /* <var5:Int> isa OTHER */
 var8 = 1; /* easy <var5:Int> isa OTHER*/
 if (unlikely(!var8)) {
-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);
 }
 var9 = var2 + var5;
@@ -4617,7 +4701,7 @@ RET_LABEL7:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#ascii (var6) on <var6:Int> */
+{ /* Inline kernel#Int#code_point (var6) on <var6:Int> */
 var12 = (uint32_t)var6;
 var10 = var12;
 goto RET_LABEL11;
@@ -4634,7 +4718,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#to_upper for (self: Char): Char */
-uint32_t standard___standard__Char___to_upper(uint32_t self) {
+uint32_t core___core__Char___to_upper(uint32_t self) {
 uint32_t var /* : Char */;
 short int var1 /* : Bool */;
 long var2 /* : Int */;
@@ -4649,11 +4733,11 @@ long var9 /* : Int */;
 uint32_t var10 /* : Char */;
 uint32_t var12 /* : Char */;
 {
-var1 = standard___standard__Char___is_lower(self);
+var1 = core___core__Char___is_lower(self);
 }
 if (var1){
 {
-{ /* Inline kernel#Char#ascii (self) on <self:Char> */
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
 var4 = (long)self;
 var2 = var4;
 goto RET_LABEL3;
@@ -4661,7 +4745,7 @@ RET_LABEL3:(void)0;
 }
 }
 {
-var5 = standard___standard__Char___Discrete__distance('a', 'A');
+var5 = core___core__Char___Discrete__distance('a', 'A');
 }
 {
 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
@@ -4669,9 +4753,9 @@ var5 = standard___standard__Char___Discrete__distance('a', 'A');
 /* <var5:Int> isa OTHER */
 var8 = 1; /* easy <var5:Int> isa OTHER*/
 if (unlikely(!var8)) {
-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);
 }
 var9 = var2 - var5;
@@ -4681,7 +4765,7 @@ RET_LABEL7:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#ascii (var6) on <var6:Int> */
+{ /* Inline kernel#Int#code_point (var6) on <var6:Int> */
 var12 = (uint32_t)var6;
 var10 = var12;
 goto RET_LABEL11;
@@ -4698,7 +4782,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#is_digit for (self: Char): Bool */
-short int standard___standard__Char___is_digit(uint32_t self) {
+short int core___core__Char___is_digit(uint32_t self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
@@ -4720,9 +4804,9 @@ short int var12 /* : Bool */;
 /* <'0':Char> isa OTHER */
 var4 = 1; /* easy <'0':Char> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
 var5 = self >= '0';
@@ -4739,9 +4823,9 @@ if (var2){
 /* <'9':Char> isa OTHER */
 var8 = 1; /* easy <'9':Char> isa OTHER*/
 if (unlikely(!var8)) {
-var_class_name11 = type_standard__Char.name;
+var_class_name11 = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
 var12 = self <= '9';
@@ -4760,7 +4844,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#is_lower for (self: Char): Bool */
-short int standard___standard__Char___is_lower(uint32_t self) {
+short int core___core__Char___is_lower(uint32_t self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
@@ -4782,9 +4866,9 @@ short int var12 /* : Bool */;
 /* <'a':Char> isa OTHER */
 var4 = 1; /* easy <'a':Char> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
 var5 = self >= 'a';
@@ -4801,9 +4885,9 @@ if (var2){
 /* <'z':Char> isa OTHER */
 var8 = 1; /* easy <'z':Char> isa OTHER*/
 if (unlikely(!var8)) {
-var_class_name11 = type_standard__Char.name;
+var_class_name11 = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
 var12 = self <= 'z';
@@ -4822,7 +4906,7 @@ RET_LABEL:;
 return var;
 }
 /* method kernel#Char#is_upper for (self: Char): Bool */
-short int standard___standard__Char___is_upper(uint32_t self) {
+short int core___core__Char___is_upper(uint32_t self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
 short int var2 /* : Bool */;
@@ -4844,9 +4928,9 @@ short int var12 /* : Bool */;
 /* <'A':Char> isa OTHER */
 var4 = 1; /* easy <'A':Char> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Char.name;
+var_class_name = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924);
 fatal_exit(1);
 }
 var5 = self >= 'A';
@@ -4863,9 +4947,9 @@ if (var2){
 /* <'Z':Char> isa OTHER */
 var8 = 1; /* easy <'Z':Char> isa OTHER*/
 if (unlikely(!var8)) {
-var_class_name11 = type_standard__Char.name;
+var_class_name11 = type_core__Char.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922);
 fatal_exit(1);
 }
 var12 = self <= 'Z';
@@ -4883,15 +4967,83 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Char#is_whitespace for (self: Char): Bool */
+short int core___core__Char___is_whitespace(uint32_t self) {
+short int var /* : Bool */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+long var_i /* var i: Int */;
+short int var4 /* : Bool */;
+short int var5 /* : Bool */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var8 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+{
+{ /* Inline kernel#Char#code_point (self) on <self:Char> */
+var3 = (long)self;
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+var_i = var1;
+{
+{ /* Inline kernel#Int#<= (var_i,32l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <32l:Int> isa OTHER */
+/* <32l:Int> isa OTHER */
+var7 = 1; /* easy <32l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+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, 727);
+fatal_exit(1);
+}
+var8 = var_i <= 32l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+var_ = var5;
+if (var5){
+var4 = var_;
+} else {
+{
+{ /* Inline kernel#Int#== (var_i,127l) on <var_i:Int> */
+var11 = var_i == 127l;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+var4 = var9;
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
 /* method kernel#Pointer#address_is_null for (self: Pointer): Bool */
-short int standard___standard__Pointer___address_is_null(val* self) {
+short int core___core__Pointer___address_is_null(val* self) {
 short int var /* : Bool */;
-short int var1 /* : Bool for extern */;
+short int var1 /* : Bool */;
 void* var2 /* : Pointer for extern */;
-var2 = ((struct instance_standard__Pointer*)self)->value; /* unboxing Pointer */
-var1 = address_is_null(var2);
+var2 = ((struct instance_core__Pointer*)self)->value; /* unboxing Pointer */
+var1 = kernel___Pointer_address_is_null___impl(var2);
 var = var1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method kernel#Pointer#free for (self: Pointer) */
+void core___core__Pointer___free(val* self) {
+void* var /* : Pointer for extern */;
+var = ((struct instance_core__Pointer*)self)->value; /* unboxing Pointer */
+kernel___Pointer_free___impl(var);
+RET_LABEL:;
+}