-var_skip = var2;
-var4 = 0;
-var5 = ((val* (*)(val*, long))(var_txt->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_txt, var4) /* [] on <var_txt:String>*/;
-var6 = 1;
-var7 = ((val* (*)(val*, long))(var_txt->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_txt, var6) /* [] on <var_txt:String>*/;
-{ /* Inline kernel#Char#== (var5,var7) */
-var10 = var5 == var7 || (((struct instance_kernel__Char*)var5)->value == ((struct instance_kernel__Char*)var7)->value);
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-var_ = var8;
-if (var8){
-var11 = ((long (*)(val*))(var_txt->class->vft[COLOR_abstract_collection__Collection__length]))(var_txt) /* length on <var_txt:String>*/;
-var12 = 6;
-{ /* Inline kernel#Int#>= (var11,var12) */
-/* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
-/* <var12:Int> isa OTHER */
-var15 = 1; /* easy <var12:Int> isa OTHER*/
-if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
-exit(1);
-}
-var16 = var11 >= var12;
-var13 = var16;
-goto RET_LABEL14;
-RET_LABEL14:(void)0;
-}
-var3 = var13;
+var_behead = var2;
+var3 = 1;
+var_betail = var3;
+var5 = ((val* (*)(val*))(var_txt->class->vft[COLOR_string__AbstractString__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var6 = 0;
+var7 = ((val* (*)(val*, long))(var5->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var5, var6) /* [] on <var5:StringCharView>*/;
+var8 = ((val* (*)(val*))(var_txt->class->vft[COLOR_string__AbstractString__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var9 = 1;
+var10 = ((val* (*)(val*, long))(var8->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var8, var9) /* [] on <var8:StringCharView>*/;
+{ /* Inline kernel#Char#== (var7,var10) */
+var13 = var7 == var10 || (((struct instance_kernel__Char*)var7)->value == ((struct instance_kernel__Char*)var10)->value);
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+var_ = var11;
+if (var11){
+var14 = ((long (*)(val*))(var_txt->class->vft[COLOR_abstract_collection__Collection__length]))(var_txt) /* length on <var_txt:String>*/;
+var15 = 6;
+{ /* Inline kernel#Int#>= (var14,var15) */
+/* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
+/* <var15:Int> isa OTHER */
+var18 = 1; /* easy <var15:Int> isa OTHER*/
+if (!var18) {
+var_class_name = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
+show_backtrace(1);
+}
+var19 = var14 >= var15;
+var16 = var19;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+var4 = var16;
+} else {
+var4 = var_;
+}
+if (var4){
+var20 = 3;
+var_behead = var20;
+var21 = 3;
+var_betail = var21;
+var23 = ((val* (*)(val*))(var_txt->class->vft[COLOR_string__AbstractString__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var24 = 0;
+var25 = ((val* (*)(val*, long))(var23->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var23, var24) /* [] on <var23:StringCharView>*/;
+var26 = '\"';
+{ /* Inline kernel#Char#== (var25,var26) */
+var29 = (var25 != NULL) && (var25->class == &class_kernel__Char);
+if (var29) {
+var30 = ((struct instance_kernel__Char*)var25)->value; /* autounbox from nullable Object to Char */;
+var29 = (var30 == var26);
+}
+var27 = var29;
+goto RET_LABEL28;
+RET_LABEL28:(void)0;
+}
+var_31 = var27;
+if (var27){
+var32 = ((val* (*)(val*))(var_txt->class->vft[COLOR_string__AbstractString__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var33 = 3;
+var34 = ((val* (*)(val*, long))(var32->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var32, var33) /* [] on <var32:StringCharView>*/;
+var35 = '\n';
+{ /* Inline kernel#Char#== (var34,var35) */
+var38 = (var34 != NULL) && (var34->class == &class_kernel__Char);
+if (var38) {
+var39 = ((struct instance_kernel__Char*)var34)->value; /* autounbox from nullable Object to Char */;
+var38 = (var39 == var35);
+}
+var36 = var38;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
+}
+var22 = var36;
+} else {
+var22 = var_31;
+}
+if (var22){
+var40 = 4;
+var_behead = var40;