+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
+fatal_exit(1);
+}
+var14 = var_pos - 1l;
+var8 = var14;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
+}
+}
+var_pos = var8;
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_collection#SequenceRead#reverse_iterator for (self: SequenceRead[nullable Object]): IndexedIterator[nullable Object] */
+val* core___core__SequenceRead___reverse_iterator(val* self) {
+val* var /* : IndexedIterator[nullable Object] */;
+const char* var_class_name;
+var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name;
+PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "reverse_iterator", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection, 972);
+fatal_exit(1);
+RET_LABEL:;
+return var;
+}
+/* method abstract_collection#SequenceRead#reverse_iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
+val* core___core__SequenceRead___reverse_iterator_from(val* self, long p0) {
+val* var /* : IndexedIterator[nullable Object] */;
+long var_pos /* var pos: Int */;
+val* var1 /* : IndexedIterator[nullable Object] */;
+val* var_res /* var res: IndexedIterator[nullable Object] */;
+short int var2 /* : Bool */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var6 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var7 /* : Bool */;
+long var8 /* : Int */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+const char* var_class_name13;
+long var14 /* : Int */;
+var_pos = p0;
+{
+var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__SequenceRead__reverse_iterator]))(self); /* reverse_iterator on <self:SequenceRead[nullable Object]>*/
+}
+var_res = var1;
+for(;;) {
+{
+{ /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var5 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var5)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+fatal_exit(1);
+}
+var6 = var_pos > 0l;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+}
+var_ = var3;
+if (var3){
+{
+var7 = ((short int(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_res); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
+}
+var2 = var7;
+} else {
+var2 = var_;
+}
+if (var2){
+{
+((void(*)(val* self))((((long)var_res&3)?class_info[((long)var_res&3)]:var_res->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_res); /* next on <var_res:IndexedIterator[nullable Object]>*/
+}
+{
+{ /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var10 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var10)) {
+var_class_name13 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);