+/* method bytes$Text$to_bytes for (self: Text): Bytes */
+val* core__bytes___Text___to_bytes(val* self) {
+val* var /* : Bytes */;
+val* var1 /* : Bytes */;
+long var2 /* : Int */;
+val* var_b /* var b: Bytes */;
+var1 = NEW_core__Bytes(&type_core__Bytes);
+{
+var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on <self:Text>*/
+}
+{
+core___core__Bytes___with_capacity(var1, var2); /* Direct call bytes$Bytes$with_capacity on <var1:Bytes>*/
+}
+var_b = var1;
+{
+((void(*)(val* self, val* p0))(self->class->vft[COLOR_core__bytes__Text__append_to_bytes]))(self, var_b); /* append_to_bytes on <self:Text>*/
+}
+var = var_b;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method bytes$Text$append_to_bytes for (self: Text, Bytes) */
+void core__bytes___Text___append_to_bytes(val* self, val* p0) {
+val* var_b /* var b: Bytes */;
+val* var /* : Iterator[FlatText] */;
+val* var_ /* var : Iterator[FlatText] */;
+val* var1 /* : Iterator[nullable Object] */;
+val* var_2 /* var : Iterator[FlatText] */;
+short int var3 /* : Bool */;
+val* var4 /* : nullable Object */;
+val* var_s /* var s: FlatText */;
+long var5 /* : Int */;
+short int var6 /* : Bool */;
+int cltype;
+int idtype;
+long var7 /* : Int */;
+long var9 /* : Int */;
+long var_from /* var from: Int */;
+char* var10 /* : CString */;
+char* var12 /* : CString */;
+long var13 /* : Int */;
+long var15 /* : Int */;
+var_b = p0;
+{
+var = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__substrings]))(self); /* substrings on <self:Text>*/
+}
+var_ = var;
+{
+var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on <var_:Iterator[FlatText]>*/
+}
+var_2 = var1;
+for(;;) {
+{
+var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[FlatText]>*/
+}
+if (var3){
+} else {
+goto BREAK_label;
+}
+{
+var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[FlatText]>*/
+}
+var_s = var4;
+/* <var_s:FlatText> isa FlatString */
+cltype = type_core__FlatString.color;
+idtype = type_core__FlatString.id;
+if(cltype >= var_s->type->table_size) {
+var6 = 0;
+} else {
+var6 = var_s->type->type_table[cltype] == idtype;
+}
+if (var6){
+{
+{ /* Inline flat$FlatString$first_byte (var_s) on <var_s:FlatText(FlatString)> */
+var9 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_s:FlatText(FlatString)> */
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+var5 = var7;
+} else {
+var5 = 0l;
+}
+var_from = var5;
+{
+{ /* Inline abstract_text$FlatText$items (var_s) on <var_s:FlatText> */
+var12 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_s:FlatText> */
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+{
+{ /* Inline abstract_text$FlatText$byte_length (var_s) on <var_s:FlatText> */
+var15 = var_s->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_s:FlatText> */
+var13 = var15;
+RET_LABEL14:(void)0;
+}
+}
+{
+core___core__Bytes___append_ns_from(var_b, var10, var13, var_from); /* Direct call bytes$Bytes$append_ns_from on <var_b:Bytes>*/
+}
+{
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[FlatText]>*/
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[FlatText]>*/
+}
+RET_LABEL:;
+}
+/* method bytes$Text$unescape_to_bytes for (self: Text): Bytes */
+val* core__bytes___Text___unescape_to_bytes(val* self) {
+val* var /* : Bytes */;
+val* var1 /* : Bytes */;
+long var2 /* : Int */;
+val* var_res /* var res: Bytes */;
+short int var_was_slash /* var was_slash: Bool */;
+long var_i /* var i: Int */;
+long var3 /* : Int */;
+short int var4 /* : Bool */;
+short int var6 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var7 /* : Bool */;
+uint32_t var8 /* : Char */;
+uint32_t var_c /* var c: Char */;
+short int var9 /* : Bool */;
+short int var10 /* : Bool */;
+short int var12 /* : Bool */;
+long var13 /* : Int */;
+short int var15 /* : Bool */;
+int cltype16;
+int idtype17;
+const char* var_class_name18;
+long var19 /* : Int */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+short int var23 /* : Bool */;
+short int var25 /* : Bool */;
+short int var26 /* : Bool */;
+short int var28 /* : Bool */;
+short int var29 /* : Bool */;
+short int var31 /* : Bool */;
+short int var32 /* : Bool */;
+short int var33 /* : Bool */;
+short int var35 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var36 /* : Bool */;
+short int var38 /* : Bool */;
+long var39 /* : Int */;
+short int var41 /* : Bool */;
+int cltype42;
+int idtype43;
+const char* var_class_name44;
+long var45 /* : Int */;
+val* var46 /* : Text */;
+val* var_hx /* var hx: Text */;
+short int var47 /* : Bool */;
+long var48 /* : Int */;
+unsigned char var49 /* : Byte */;
+unsigned char var51 /* : Byte */;
+long var52 /* : Int */;
+short int var54 /* : Bool */;
+int cltype55;
+int idtype56;
+const char* var_class_name57;
+long var58 /* : Int */;
+short int var59 /* : Bool */;
+short int var60 /* : Bool */;
+short int var62 /* : Bool */;
+short int var_63 /* var : Bool */;
+short int var64 /* : Bool */;
+short int var66 /* : Bool */;
+long var67 /* : Int */;
+short int var69 /* : Bool */;
+int cltype70;
+int idtype71;
+const char* var_class_name72;
+long var73 /* : Int */;
+val* var74 /* : Text */;
+val* var_hx75 /* var hx: Text */;
+short int var76 /* : Bool */;
+long var77 /* : Int */;
+uint32_t var78 /* : Char */;
+uint32_t var80 /* : Char */;
+long var81 /* : Int */;
+short int var83 /* : Bool */;
+int cltype84;
+int idtype85;
+const char* var_class_name86;
+long var87 /* : Int */;
+long var88 /* : Int */;
+short int var90 /* : Bool */;
+int cltype91;
+int idtype92;
+const char* var_class_name93;
+long var94 /* : Int */;
+var1 = NEW_core__Bytes(&type_core__Bytes);
+{
+var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on <self:Text>*/
+}
+{
+core___core__Bytes___with_capacity(var1, var2); /* Direct call bytes$Bytes$with_capacity on <var1:Bytes>*/
+}
+var_res = var1;
+var_was_slash = 0;
+var_i = 0l;
+for(;;) {
+{
+var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
+}
+{
+{ /* Inline kernel$Int$< (var_i,var3) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
+/* <var3:Int> isa OTHER */
+var6 = 1; /* easy <var3:Int> isa OTHER*/
+if (unlikely(!var6)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
+fatal_exit(1);
+}
+var7 = var_i < var3;
+var4 = var7;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+}
+if (var4){
+{
+var8 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var_i); /* [] on <self:Text>*/
+}
+var_c = var8;
+var9 = !var_was_slash;
+if (var9){
+{
+{ /* Inline kernel$Char$== (var_c,'\\') on <var_c:Char> */
+var12 = var_c == '\\';
+var10 = var12;
+goto RET_LABEL11;
+RET_LABEL11:(void)0;
+}
+}
+if (var10){
+var_was_slash = 1;
+} else {
+{
+core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+}
+{
+{ /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var15 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var15)) {
+var_class_name18 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var19 = var_i + 1l;
+var13 = var19;
+goto RET_LABEL14;
+RET_LABEL14:(void)0;
+}
+}
+var_i = var13;
+goto BREAK_label;
+} else {
+}
+var_was_slash = 0;
+{
+{ /* Inline kernel$Char$== (var_c,'n') on <var_c:Char> */
+var22 = var_c == 'n';
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+if (var20){
+{
+core___core__Bytes___add_char(var_res, '\n'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'r') on <var_c:Char> */
+var25 = var_c == 'r';
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+}
+if (var23){
+{
+core___core__Bytes___add_char(var_res, '\015'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'t') on <var_c:Char> */
+var28 = var_c == 't';
+var26 = var28;
+goto RET_LABEL27;
+RET_LABEL27:(void)0;
+}
+}
+if (var26){
+{
+core___core__Bytes___add_char(var_res, '\t'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'0') on <var_c:Char> */
+var31 = var_c == '0';
+var29 = var31;
+goto RET_LABEL30;
+RET_LABEL30:(void)0;
+}
+}
+if (var29){
+{
+core___core__Bytes___add_char(var_res, '\000'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'x') on <var_c:Char> */
+var35 = var_c == 'x';
+var33 = var35;
+goto RET_LABEL34;
+RET_LABEL34:(void)0;
+}
+}
+var_ = var33;
+if (var33){
+var32 = var_;
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'X') on <var_c:Char> */
+var38 = var_c == 'X';
+var36 = var38;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
+}
+}
+var32 = var36;
+}
+if (var32){
+{
+{ /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var41 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var41)) {
+var_class_name44 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var45 = var_i + 1l;
+var39 = var45;
+goto RET_LABEL40;
+RET_LABEL40:(void)0;
+}
+}
+{
+var46 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, var39, 2l); /* substring on <self:Text>*/
+}
+var_hx = var46;
+{
+var47 = core___core__Text___is_hex(var_hx);
+}
+if (var47){
+{
+var48 = ((long(*)(val* self, val* p0, val* p1))(var_hx->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var_hx, ((val*)NULL), ((val*)NULL)); /* to_hex on <var_hx:Text>*/
+}
+{
+{ /* Inline kernel$Int$to_b (var48) on <var48:Int> */
+var51 = (unsigned char)var48;
+var49 = var51;
+goto RET_LABEL50;
+RET_LABEL50:(void)0;
+}
+}
+{
+core___core__Bytes___core__abstract_collection__SimpleCollection__add(var_res, var49); /* Direct call bytes$Bytes$add on <var_res:Bytes>*/
+}
+} else {
+{
+core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+}
+{
+{ /* Inline kernel$Int$+ (var_i,2l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
+/* <2l:Int> isa OTHER */
+var54 = 1; /* easy <2l:Int> isa OTHER*/
+if (unlikely(!var54)) {
+var_class_name57 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var58 = var_i + 2l;
+var52 = var58;
+goto RET_LABEL53;
+RET_LABEL53:(void)0;
+}
+}
+var_i = var52;
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'u') on <var_c:Char> */
+var62 = var_c == 'u';
+var60 = var62;
+goto RET_LABEL61;
+RET_LABEL61:(void)0;
+}
+}
+var_63 = var60;
+if (var60){
+var59 = var_63;
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'U') on <var_c:Char> */
+var66 = var_c == 'U';
+var64 = var66;
+goto RET_LABEL65;
+RET_LABEL65:(void)0;
+}
+}
+var59 = var64;
+}
+if (var59){
+{
+{ /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var69 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var69)) {
+var_class_name72 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var73 = var_i + 1l;
+var67 = var73;
+goto RET_LABEL68;
+RET_LABEL68:(void)0;
+}
+}
+{
+var74 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, var67, 6l); /* substring on <self:Text>*/
+}
+var_hx75 = var74;
+{
+var76 = core___core__Text___is_hex(var_hx75);
+}
+if (var76){
+{
+var77 = ((long(*)(val* self, val* p0, val* p1))(var_hx75->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var_hx75, ((val*)NULL), ((val*)NULL)); /* to_hex on <var_hx75:Text>*/
+}
+{
+{ /* Inline kernel$Int$code_point (var77) on <var77:Int> */
+var80 = (uint32_t)var77;
+var78 = var80;
+goto RET_LABEL79;
+RET_LABEL79:(void)0;
+}
+}
+{
+core___core__Bytes___add_char(var_res, var78); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+} else {
+{
+core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+}
+{
+{ /* Inline kernel$Int$+ (var_i,6l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
+/* <6l:Int> isa OTHER */
+var83 = 1; /* easy <6l:Int> isa OTHER*/
+if (unlikely(!var83)) {
+var_class_name86 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var87 = var_i + 6l;
+var81 = var87;
+goto RET_LABEL82;
+RET_LABEL82:(void)0;
+}
+}
+var_i = var81;
+} else {
+{
+core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
+}
+}
+}
+}
+}
+}
+}
+{
+{ /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var90 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var90)) {
+var_class_name93 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var94 = var_i + 1l;
+var88 = var94;
+goto RET_LABEL89;
+RET_LABEL89:(void)0;
+}
+}
+var_i = var88;
+} else {
+goto BREAK_label95;
+}
+BREAK_label: (void)0;
+}
+BREAK_label95: (void)0;
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method bytes$FlatText$append_to_bytes for (self: FlatText, Bytes) */
+void core__bytes___FlatText___Text__append_to_bytes(val* self, val* p0) {
+val* var_b /* var b: Bytes */;
+long var /* : Int */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+long var2 /* : Int */;
+long var4 /* : Int */;
+long var_from /* var from: Int */;
+char* var5 /* : CString */;
+char* var7 /* : CString */;
+long var8 /* : Int */;
+long var10 /* : Int */;
+var_b = p0;
+/* <self:FlatText> isa FlatString */
+cltype = type_core__FlatString.color;
+idtype = type_core__FlatString.id;
+if(cltype >= self->type->table_size) {
+var1 = 0;
+} else {
+var1 = self->type->type_table[cltype] == idtype;
+}
+if (var1){
+{
+{ /* Inline flat$FlatString$first_byte (self) on <self:FlatText(FlatString)> */
+var4 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatText(FlatString)> */
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+var = var2;
+} else {
+var = 0l;
+}
+var_from = var;
+{
+{ /* Inline abstract_text$FlatText$items (self) on <self:FlatText> */
+var7 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+{ /* Inline abstract_text$FlatText$byte_length (self) on <self:FlatText> */
+var10 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatText> */
+var8 = var10;
+RET_LABEL9:(void)0;
+}
+}
+{
+core___core__Bytes___append_ns_from(var_b, var5, var8, var_from); /* Direct call bytes$Bytes$append_ns_from on <var_b:Bytes>*/
+}
+RET_LABEL:;
+}