+/* method flat$FlatBufferCharIterator$target for (self: FlatBufferCharIterator): FlatBuffer */
+val* core__flat___core__flat__FlatBufferCharIterator___target(val* self) {
+val* var /* : FlatBuffer */;
+val* var1 /* : FlatBuffer */;
+var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
+if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
+PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$target= for (self: FlatBufferCharIterator, FlatBuffer) */
+void core__flat___core__flat__FlatBufferCharIterator___target_61d(val* self, val* p0) {
+self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val = p0; /* _target on <self:FlatBufferCharIterator> */
+RET_LABEL:;
+}
+/* method flat$FlatBufferCharIterator$max for (self: FlatBufferCharIterator): Int */
+long core__flat___core__flat__FlatBufferCharIterator___max(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l; /* _max on <self:FlatBufferCharIterator> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$max= for (self: FlatBufferCharIterator, Int) */
+void core__flat___core__flat__FlatBufferCharIterator___max_61d(val* self, long p0) {
+self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l = p0; /* _max on <self:FlatBufferCharIterator> */
+RET_LABEL:;
+}
+/* method flat$FlatBufferCharIterator$curr_pos for (self: FlatBufferCharIterator): Int */
+long core__flat___core__flat__FlatBufferCharIterator___curr_pos(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$curr_pos= for (self: FlatBufferCharIterator, Int) */
+void core__flat___core__flat__FlatBufferCharIterator___curr_pos_61d(val* self, long p0) {
+self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l = p0; /* _curr_pos on <self:FlatBufferCharIterator> */
+RET_LABEL:;
+}
+/* method flat$FlatBufferCharIterator$init for (self: FlatBufferCharIterator) */
+void core__flat___core__flat__FlatBufferCharIterator___core__kernel__Object__init(val* self) {
+val* var /* : FlatBuffer */;
+val* var2 /* : FlatBuffer */;
+long var3 /* : Int */;
+long var4 /* : Int */;
+short int var6 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var7 /* : Int */;
+{
+((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatBufferCharIterator___core__kernel__Object__init]))(self); /* init on <self:FlatBufferCharIterator>*/
+}
+{
+{ /* Inline flat$FlatBufferCharIterator$target (self) on <self:FlatBufferCharIterator> */
+var2 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
+PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var3 = var->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var:FlatBuffer> */
+{
+{ /* Inline kernel$Int$- (var3,1l) on <var3:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var6 = 1; /* easy <1l: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, 731);
+fatal_exit(1);
+}
+var7 = var3 - 1l;
+var4 = var7;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+}
+{
+{ /* Inline flat$FlatBufferCharIterator$max= (self,var4) on <self:FlatBufferCharIterator> */
+self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l = var4; /* _max on <self:FlatBufferCharIterator> */
+RET_LABEL8:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method flat$FlatBufferCharIterator$index for (self: FlatBufferCharIterator): Int */
+long core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__IndexedIterator__index(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+{
+{ /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
+var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$is_ok for (self: FlatBufferCharIterator): Bool */
+short int core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__is_ok(val* self) {
+short int var /* : Bool */;
+long var1 /* : Int */;
+long var3 /* : Int */;
+long var4 /* : Int */;
+long var6 /* : Int */;
+short int var7 /* : Bool */;
+short int var9 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var10 /* : Bool */;
+{
+{ /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
+var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline flat$FlatBufferCharIterator$max (self) on <self:FlatBufferCharIterator> */
+var6 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l; /* _max on <self:FlatBufferCharIterator> */
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$<= (var1,var4) on <var1:Int> */
+/* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
+/* <var4:Int> isa OTHER */
+var9 = 1; /* easy <var4:Int> isa OTHER*/
+if (unlikely(!var9)) {
+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, 724);
+fatal_exit(1);
+}
+var10 = var1 <= var4;
+var7 = var10;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
+}
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$item for (self: FlatBufferCharIterator): Char */
+uint32_t core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(val* self) {
+uint32_t var /* : Char */;
+val* var1 /* : FlatBuffer */;
+val* var3 /* : FlatBuffer */;
+long var4 /* : Int */;
+long var6 /* : Int */;
+uint32_t var7 /* : Char */;
+{
+{ /* Inline flat$FlatBufferCharIterator$target (self) on <self:FlatBufferCharIterator> */
+var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
+PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
+var6 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = core__flat___FlatText___core__abstract_text__Text___91d_93d(var1, var4);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$item for (self: Iterator[nullable Object]): nullable Object */
+val* VIRTUAL_core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(val* self) {
+val* var /* : nullable Object */;
+uint32_t var1 /* : Char */;
+val* var2 /* : nullable Object */;
+var1 = core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(self);
+var2 = (val*)((long)(var1)<<2|2);
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method flat$FlatBufferCharIterator$next for (self: FlatBufferCharIterator) */
+void core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__next(val* self) {
+val* var_ /* var : FlatBufferCharIterator */;
+long var /* : Int */;
+long var2 /* : Int */;
+long var3 /* : Int */;
+short int var5 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var6 /* : Int */;
+var_ = self;
+{
+{ /* Inline flat$FlatBufferCharIterator$curr_pos (var_) on <var_:FlatBufferCharIterator> */
+var2 = var_->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <var_:FlatBufferCharIterator> */
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$+ (var,1l) on <var:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var5 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var5)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var6 = var + 1l;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+}
+{
+{ /* Inline flat$FlatBufferCharIterator$curr_pos= (var_,var3) on <var_:FlatBufferCharIterator> */
+var_->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l = var3; /* _curr_pos on <var_:FlatBufferCharIterator> */
+RET_LABEL7:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method flat$CString$to_s for (self: CString): String */
+val* core__flat___CString___core__abstract_text__Object__to_s(char* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+{
+var1 = core__flat___CString___to_s_unsafe(self, ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL));
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method flat$CString$to_s for (self: Object): String */
+val* VIRTUAL_core__flat___CString___core__abstract_text__Object__to_s(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+var2 = ((struct instance_core__CString*)self)->value; /* autounbox from Object to CString */;
+var1 = core__flat___CString___core__abstract_text__Object__to_s(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method flat$CString$to_s_unsafe for (self: CString, nullable Int, nullable Int, nullable Bool, nullable Bool): String */
+val* core__flat___CString___to_s_unsafe(char* self, val* p0, val* p1, val* p2, val* p3) {
+val* var /* : String */;
+val* var_byte_length /* var byte_length: nullable Int */;
+val* var_char_length /* var char_length: nullable Int */;
+val* var_copy /* var copy: nullable Bool */;
+val* var_clean /* var clean: nullable Bool */;
+long var1 /* : Int */;
+long var2 /* : Int */;
+long var3 /* : Int */;
+val* var4 /* : nullable Int */;
+short int var5 /* : Bool */;
+short int var6 /* : Bool */;
+val* var7 /* : nullable Bool */;
+short int var8 /* : Bool */;
+short int var9 /* : Bool */;
+val* var10 /* : nullable Bool */;
+val* var_str /* var str: nullable Object */;
+short int var11 /* : Bool */;
+val* var12 /* : FlatString */;
+long var13 /* : Int */;
+long var14 /* : Int */;
+long var16 /* : Int */;
+val* var17 /* : nullable Int */;
+long var18 /* : Int */;
+long var19 /* : Int */;
+long var20 /* : Int */;
+long var22 /* : Int */;
+long var_from /* var from: Int */;
+long var_byte_length23 /* var byte_length: Int */;
+long var_st /* var st: Int */;
+long var_ln /* var ln: Int */;
+short int var24 /* : Bool */;
+short int var26 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var27 /* : Bool */;
+short int var28 /* : Bool */;
+short int var30 /* : Bool */;
+int cltype31;
+int idtype32;
+const char* var_class_name33;
+short int var34 /* : Bool */;
+uint32_t var35 /* : UInt32 */;
+uint32_t var37 /* : UInt32 */;
+uint32_t var_i /* var i: UInt32 */;
+uint32_t var38 /* : UInt32 */;
+uint32_t var40 /* : UInt32 */;
+short int var41 /* : Bool */;
+short int var43 /* : Bool */;
+short int var44 /* : Bool */;
+long var45 /* : Int */;
+short int var47 /* : Bool */;
+int cltype48;
+int idtype49;
+const char* var_class_name50;
+long var51 /* : Int */;
+long var52 /* : Int */;
+short int var54 /* : Bool */;
+int cltype55;
+int idtype56;
+const char* var_class_name57;
+long var58 /* : Int */;
+long var59 /* : Int */;
+short int var61 /* : Bool */;
+int cltype62;
+int idtype63;
+const char* var_class_name64;
+long var65 /* : Int */;
+short int var66 /* : Bool */;
+short int var68 /* : Bool */;
+long var70 /* : Int */;
+long var_cln /* var cln: Int */;
+long var71 /* : Int */;
+short int var73 /* : Bool */;
+int cltype74;
+int idtype75;
+const char* var_class_name76;
+long var77 /* : Int */;
+long var78 /* : Int */;
+short int var80 /* : Bool */;
+int cltype81;
+int idtype82;
+const char* var_class_name83;
+long var84 /* : Int */;
+long var85 /* : Int */;
+short int var87 /* : Bool */;
+int cltype88;
+int idtype89;
+const char* var_class_name90;
+long var91 /* : Int */;
+val* var92 /* : nullable Int */;
+short int var93 /* : Bool */;
+short int var94 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var95 /* : Bool */;
+short int var96 /* : Bool */;
+short int var97 /* : Bool */;
+short int var_98 /* var : Bool */;
+char* var99 /* : CString */;
+char* var101 /* : CString */;
+short int var102 /* : Bool */;
+short int var104 /* : Bool */;
+static char* varoncenew;
+static int varoncenew_guard;
+char* var105 /* : CString */;
+char* var106 /* : CString */;
+long var107 /* : Int */;
+short int var109 /* : Bool */;
+int cltype110;
+int idtype111;
+const char* var_class_name112;
+long var113 /* : Int */;
+long var114 /* : Int */;
+char* var115 /* : CString */;
+char* var117 /* : CString */;
+char* var_new_cstr /* var new_cstr: CString */;
+long var119 /* : Int */;
+long var121 /* : Int */;
+static val* varoncenew122;
+static int varoncenew122_guard;
+val* var123 /* : FlatString */;
+val* var124 /* : FlatString */;
+val* var125 /* : FlatString */;
+long var126 /* : Int */;
+long var127 /* : Int */;
+short int var128 /* : Bool */;
+short int var129 /* : Bool */;
+static val* varoncenew130;
+static int varoncenew130_guard;
+val* var131 /* : FlatString */;
+val* var132 /* : FlatString */;
+val* var133 /* : FlatString */;
+long var134 /* : Int */;
+long var135 /* : Int */;
+var_byte_length = p0;
+var_char_length = p1;
+var_copy = p2;
+var_clean = p3;
+if (var_byte_length!=NULL) {
+var2 = (long)(var_byte_length)>>2;
+var1 = var2;
+} else {
+{
+var3 = core___core__CString___cstring_length(self);
+}
+var1 = var3;
+}
+var4 = (val*)(var1<<2|1);
+var_byte_length = var4;
+if (var_clean!=NULL) {
+var6 = (short int)((long)(var_clean)>>2);
+var5 = var6;
+} else {
+var5 = 1;
+}
+var7 = (val*)((long)(var5)<<2|3);
+var_clean = var7;
+if (var_copy!=NULL) {
+var9 = (short int)((long)(var_copy)>>2);
+var8 = var9;
+} else {
+var8 = 1;
+}
+var10 = (val*)((long)(var8)<<2|3);
+var_copy = var10;
+var_str = ((val*)NULL);
+var11 = (short int)((long)(var_clean)>>2);
+if (var11){
+{
+var13 = (long)(var_byte_length)>>2;
+var12 = core__flat___CString___clean_utf8(self, var13);
+}
+var_str = var12;
+{
+{ /* Inline abstract_text$FlatText$length (var_str) on <var_str:nullable Object(FlatString)> */
+var16 = var_str->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_str:nullable Object(FlatString)> */
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+var17 = (val*)(var14<<2|1);
+var_char_length = var17;
+} else {
+if (var_char_length!=NULL) {
+var19 = (long)(var_char_length)>>2;
+var18 = var19;
+} else {
+{
+{ /* Inline native$CString$utf8_length (self,0l,var_byte_length) on <self:CString> */
+var22 = (long)(var_byte_length)>>2;
+var_from = 0l;
+var_byte_length23 = var22;
+var_st = var_from;
+var_ln = 0l;
+for(;;) {
+{
+{ /* Inline kernel$Int$> (var_byte_length23,0l) on <var_byte_length23:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var26 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var26)) {
+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);
+}
+var27 = var_byte_length23 > 0l;
+var24 = var27;
+goto RET_LABEL25;
+RET_LABEL25:(void)0;
+}
+}
+if (var24){
+for(;;) {
+{
+{ /* Inline kernel$Int$>= (var_byte_length23,4l) on <var_byte_length23:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var30 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var30)) {
+var_class_name33 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
+fatal_exit(1);
+}
+var34 = var_byte_length23 >= 4l;
+var28 = var34;
+goto RET_LABEL29;
+RET_LABEL29:(void)0;
+}
+}
+if (var28){
+{
+{ /* Inline native$CString$fetch_4_chars (self,var_st) on <self:CString> */
+var37 = *((uint32_t*)(self + var_st));
+var35 = var37;
+goto RET_LABEL36;
+RET_LABEL36:(void)0;
+}
+}
+var_i = var35;
+{
+{ /* Inline fixed_ints$UInt32$& (var_i,UINT32_C(2155905152)) on <var_i:UInt32> */
+var40 = var_i & UINT32_C(2155905152);
+var38 = var40;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+}
+{
+{ /* Inline fixed_ints$UInt32$!= (var38,UINT32_C(0)) on <var38:UInt32> */
+var43 = var38 == UINT32_C(0);
+var44 = !var43;
+var41 = var44;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
+}
+}
+if (var41){
+goto BREAK_label;
+} else {
+}
+{
+{ /* Inline kernel$Int$- (var_byte_length23,4l) on <var_byte_length23:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var47 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var47)) {
+var_class_name50 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
+fatal_exit(1);
+}
+var51 = var_byte_length23 - 4l;
+var45 = var51;
+goto RET_LABEL46;
+RET_LABEL46:(void)0;
+}
+}
+var_byte_length23 = var45;
+{
+{ /* Inline kernel$Int$+ (var_st,4l) on <var_st:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var54 = 1; /* easy <4l: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_st + 4l;
+var52 = var58;
+goto RET_LABEL53;
+RET_LABEL53:(void)0;
+}
+}
+var_st = var52;
+{
+{ /* Inline kernel$Int$+ (var_ln,4l) on <var_ln:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var61 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var61)) {
+var_class_name64 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var65 = var_ln + 4l;
+var59 = var65;
+goto RET_LABEL60;
+RET_LABEL60:(void)0;
+}
+}
+var_ln = var59;
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+{ /* Inline kernel$Int$== (var_byte_length23,0l) on <var_byte_length23:Int> */
+var68 = var_byte_length23 == 0l;
+var66 = var68;
+goto RET_LABEL67;
+RET_LABEL67:(void)0;
+}
+}
+if (var66){
+goto BREAK_label69;
+} else {
+}
+{
+var70 = core___core__CString___length_of_char_at(self, var_st);
+}
+var_cln = var70;
+{
+{ /* Inline kernel$Int$+ (var_st,var_cln) on <var_st:Int> */
+/* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
+/* <var_cln:Int> isa OTHER */
+var73 = 1; /* easy <var_cln:Int> isa OTHER*/
+if (unlikely(!var73)) {
+var_class_name76 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var77 = var_st + var_cln;
+var71 = var77;
+goto RET_LABEL72;
+RET_LABEL72:(void)0;
+}
+}
+var_st = var71;
+{
+{ /* Inline kernel$Int$+ (var_ln,1l) on <var_ln:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var80 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var80)) {
+var_class_name83 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var84 = var_ln + 1l;
+var78 = var84;
+goto RET_LABEL79;
+RET_LABEL79:(void)0;
+}
+}
+var_ln = var78;
+{
+{ /* Inline kernel$Int$- (var_byte_length23,var_cln) on <var_byte_length23:Int> */
+/* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
+/* <var_cln:Int> isa OTHER */
+var87 = 1; /* easy <var_cln:Int> isa OTHER*/
+if (unlikely(!var87)) {
+var_class_name90 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
+fatal_exit(1);
+}
+var91 = var_byte_length23 - var_cln;
+var85 = var91;
+goto RET_LABEL86;
+RET_LABEL86:(void)0;
+}
+}
+var_byte_length23 = var85;
+} else {
+goto BREAK_label69;
+}
+}
+BREAK_label69: (void)0;
+var20 = var_ln;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+var18 = var20;
+}
+var92 = (val*)(var18<<2|1);
+var_char_length = var92;
+}
+var94 = (short int)((long)(var_copy)>>2);
+var_ = var94;
+if (var94){
+if (var_str == NULL) {
+var96 = 1; /* is null */
+} else {
+var96 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var97 = core___core__FlatString___core__kernel__Object___61d_61d(var_str, ((val*)NULL));
+var96 = var97;
+}
+var_98 = var96;
+if (var96){
+var95 = var_98;
+} else {
+{
+{ /* Inline abstract_text$FlatText$items (var_str) on <var_str:nullable Object(FlatString)> */
+var101 = var_str->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_str:nullable Object(FlatString)> */
+var99 = var101;
+RET_LABEL100:(void)0;
+}
+}
+{
+{ /* Inline native$CString$== (var99,self) on <var99:CString> */
+var104 = var99 == self;
+var102 = var104;
+goto RET_LABEL103;
+RET_LABEL103:(void)0;
+}
+}
+var95 = var102;
+}
+var93 = var95;
+} else {
+var93 = var_;
+}
+if (var93){
+if (likely(varoncenew_guard)) {
+var105 = varoncenew;
+} else {
+var106 = NULL/*special!*/;
+var105 = var106;
+varoncenew = var105;
+varoncenew_guard = 1;
+}
+{
+{ /* Inline kernel$Int$+ (var_byte_length,1l) on <var_byte_length:nullable Int(Int)> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var109 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var109)) {
+var_class_name112 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var113 = (long)(var_byte_length)>>2;
+var114 = var113 + 1l;
+var107 = var114;
+goto RET_LABEL108;
+RET_LABEL108:(void)0;
+}
+}
+{
+{ /* Inline native$CString$new (var105,var107) on <var105:CString> */
+var117 = (char*)nit_alloc(var107);
+var115 = var117;
+goto RET_LABEL116;
+RET_LABEL116:(void)0;
+}
+}
+var_new_cstr = var115;
+{
+{ /* Inline native$CString$copy_to (self,var_new_cstr,var_byte_length,0l,0l) on <self:CString> */
+var119 = (long)(var_byte_length)>>2;
+memmove(var_new_cstr+0l,self+0l,var119);
+RET_LABEL118:(void)0;
+}
+}
+{
+{ /* Inline native$CString$[]= (var_new_cstr,var_byte_length,((unsigned char)0x00)) on <var_new_cstr:CString> */
+var121 = (long)(var_byte_length)>>2;
+var_new_cstr[var121]=(unsigned char)((unsigned char)0x00);
+RET_LABEL120:(void)0;
+}
+}
+if (likely(varoncenew122_guard)) {
+var123 = varoncenew122;
+} else {
+var124 = NEW_core__FlatString(&type_core__FlatString);
+var123 = var124;
+varoncenew122 = var123;
+varoncenew122_guard = 1;
+}
+{
+var126 = (long)(var_byte_length)>>2;
+var127 = (long)(var_char_length)>>2;
+var125 = core___core__FlatString___full(var123, var_new_cstr, var126, 0l, var127);
+}
+var_str = var125;
+} else {
+}
+if (var_str == NULL) {
+var128 = 1; /* is null */
+} else {
+var128 = 0; /* arg is null but recv is not */
+}
+if (0) {
+var129 = core___core__FlatString___core__kernel__Object___61d_61d(var_str, ((val*)NULL));
+var128 = var129;
+}
+if (var128){
+if (likely(varoncenew130_guard)) {
+var131 = varoncenew130;
+} else {
+var132 = NEW_core__FlatString(&type_core__FlatString);
+var131 = var132;
+varoncenew130 = var131;
+varoncenew130_guard = 1;
+}
+{
+var134 = (long)(var_byte_length)>>2;
+var135 = (long)(var_char_length)>>2;
+var133 = core___core__FlatString___full(var131, self, var134, 0l, var135);
+}
+var_str = var133;
+} else {
+}
+var = var_str;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method flat$CString$clean_utf8 for (self: CString, Int): FlatString */
+val* core__flat___CString___clean_utf8(char* self, long p0) {