-val* var740 /* : NativeArray[Object] */;
-val* var741 /* : String */;
-static val* varonce742;
-val* var743 /* : String */;
-char* var744 /* : NativeString */;
-long var745 /* : Int */;
-val* var746 /* : String */;
-val* var747 /* : RuntimeVariable */;
-val* var_res748 /* var res: RuntimeVariable */;
-short int var749 /* : Bool */;
-static val* varonce750;
-val* var751 /* : String */;
-char* var752 /* : NativeString */;
-long var753 /* : Int */;
-val* var754 /* : String */;
-long var755 /* : Int */;
-static val* varonce756;
-val* var757 /* : String */;
-char* var758 /* : NativeString */;
-long var759 /* : Int */;
-val* var760 /* : String */;
-val* var761 /* : Array[Object] */;
-long var762 /* : Int */;
-val* var763 /* : NativeArray[Object] */;
-val* var764 /* : Object */;
-val* var765 /* : String */;
-static val* varonce766;
-val* var767 /* : String */;
-char* var768 /* : NativeString */;
-long var769 /* : Int */;
-val* var770 /* : String */;
-val* var771 /* : Array[Object] */;
-long var772 /* : Int */;
-val* var773 /* : NativeArray[Object] */;
-val* var774 /* : String */;
-static val* varonce775;
-val* var776 /* : String */;
-char* var777 /* : NativeString */;
-long var778 /* : Int */;
-val* var779 /* : String */;
-static val* varonce780;
-val* var781 /* : String */;
-char* var782 /* : NativeString */;
-long var783 /* : Int */;
-val* var784 /* : String */;
-val* var785 /* : Array[Object] */;
-long var786 /* : Int */;
-val* var787 /* : NativeArray[Object] */;
-val* var788 /* : String */;
-static val* varonce789;
-val* var790 /* : String */;
-char* var791 /* : NativeString */;
-long var792 /* : Int */;
-val* var793 /* : String */;
-static val* varonce794;
-val* var795 /* : String */;
-char* var796 /* : NativeString */;
-long var797 /* : Int */;
-val* var798 /* : String */;
-val* var799 /* : Array[Object] */;
-long var800 /* : Int */;
-val* var801 /* : NativeArray[Object] */;
-val* var802 /* : String */;
-static val* varonce803;
-val* var804 /* : String */;
-char* var805 /* : NativeString */;
-long var806 /* : Int */;
-val* var807 /* : String */;
-var_mclass = p0;
-var = ((val* (*)(val*))(var_mclass->class->vft[COLOR_model__MClass__intro]))(var_mclass) /* intro on <var_mclass:MClass>*/;
-var1 = ((val* (*)(val*))(var->class->vft[COLOR_model__MClassDef__bound_mtype]))(var) /* bound_mtype on <var:MClassDef>*/;
-var_mtype = var1;
-var2 = ((val* (*)(val*))(var_mclass->class->vft[COLOR_abstract_compiler__MClass__c_name]))(var_mclass) /* c_name on <var_mclass:MClass>*/;
-var_c_name = var2;
-var3 = ((val* (*)(val*))(self->class->vft[COLOR_separate_compiler__SeparateCompiler__method_tables]))(self) /* method_tables on <self:SeparateErasureCompiler>*/;
-var4 = ((val* (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var3, var_mclass) /* [] on <var3:Map[MClass, Array[nullable MPropDef]]>*/;
-var_vft = var4;
-var5 = ((val* (*)(val*))(self->class->vft[COLOR_separate_compiler__SeparateCompiler__attr_tables]))(self) /* attr_tables on <self:SeparateErasureCompiler>*/;
-var6 = ((val* (*)(val*, val*))(var5->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var5, var_mclass) /* [] on <var5:Map[MClass, Array[nullable MPropDef]]>*/;
-var_attrs = var6;
-var7 = ((val* (*)(val*))(self->class->vft[COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_tables]))(self) /* class_tables on <self:SeparateErasureCompiler>*/;
-var8 = ((val* (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var7, var_mclass) /* [] on <var7:Map[MClass, Array[nullable MClass]]>*/;
-var_class_table = var8;
-var9 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on <self:SeparateErasureCompiler>*/;
-var_v = var9;
-if (varonce) {
-var10 = varonce;
-} else {
-var11 = "/* runtime class ";
-var12 = 17;
-var13 = string__NativeString__to_s_with_length(var11, var12);
-var10 = var13;
-varonce = var10;
-}
-if (varonce14) {
-var15 = varonce14;
-} else {
-var16 = " */";
-var17 = 3;
-var18 = string__NativeString__to_s_with_length(var16, var17);
-var15 = var18;
-varonce14 = var15;
-}
-var19 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var19 = array_instance Array[Object] */
-var20 = 3;
-var21 = NEW_array__NativeArray(var20, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var21)->values[0] = (val*) var10;
-((struct instance_array__NativeArray*)var21)->values[1] = (val*) var_c_name;
-((struct instance_array__NativeArray*)var21)->values[2] = (val*) var15;
-((void (*)(val*, val*, long))(var19->class->vft[COLOR_array__Array__with_native]))(var19, var21, var20) /* with_native on <var19:Array[Object]>*/;
-CHECK_NEW_array__Array(var19);
-}
-var22 = ((val* (*)(val*))(var19->class->vft[COLOR_string__Object__to_s]))(var19) /* to_s on <var19:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var22) /* add_decl on <var_v:SeparateCompilerVisitor>*/;
-if (varonce23) {
-var24 = varonce23;
-} else {
-var25 = "class_";
-var26 = 6;
-var27 = string__NativeString__to_s_with_length(var25, var26);
-var24 = var27;
-varonce23 = var24;
-}
-var28 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var28 = array_instance Array[Object] */
-var29 = 2;
-var30 = NEW_array__NativeArray(var29, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var30)->values[0] = (val*) var24;
-((struct instance_array__NativeArray*)var30)->values[1] = (val*) var_c_name;
-((void (*)(val*, val*, long))(var28->class->vft[COLOR_array__Array__with_native]))(var28, var30, var29) /* with_native on <var28:Array[Object]>*/;
-CHECK_NEW_array__Array(var28);
-}
-var31 = ((val* (*)(val*))(var28->class->vft[COLOR_string__Object__to_s]))(var28) /* to_s on <var28:Array[Object]>*/;
-if (varonce32) {
-var33 = varonce32;
-} else {
-var34 = "extern const struct class class_";
-var35 = 32;
-var36 = string__NativeString__to_s_with_length(var34, var35);
-var33 = var36;
-varonce32 = var33;
-}
-if (varonce37) {
-var38 = varonce37;
+val* var740 /* : String */;
+static val* varonce741;
+val* var742 /* : String */;
+char* var743 /* : NativeString */;
+long var744 /* : Int */;
+val* var745 /* : String */;
+val* var746 /* : Array[Object] */;
+long var747 /* : Int */;
+val* var748 /* : NativeArray[Object] */;
+val* var749 /* : String */;
+val* var750 /* : String */;
+static val* varonce751;
+val* var752 /* : String */;
+char* var753 /* : NativeString */;
+long var754 /* : Int */;
+val* var755 /* : String */;
+static val* varonce756;
+val* var757 /* : String */;
+char* var758 /* : NativeString */;
+long var759 /* : Int */;
+val* var760 /* : String */;
+val* var761 /* : Array[Object] */;
+long var762 /* : Int */;
+val* var763 /* : NativeArray[Object] */;
+val* var764 /* : String */;
+static val* varonce765;
+val* var766 /* : String */;
+char* var767 /* : NativeString */;
+long var768 /* : Int */;
+val* var769 /* : String */;
+val* var770 /* : RuntimeVariable */;
+val* var_res771 /* var res: RuntimeVariable */;
+short int var772 /* : Bool */;
+static val* varonce773;
+val* var774 /* : String */;
+char* var775 /* : NativeString */;
+long var776 /* : Int */;
+val* var777 /* : String */;
+long var778 /* : Int */;
+static val* varonce779;
+val* var780 /* : String */;
+char* var781 /* : NativeString */;
+long var782 /* : Int */;
+val* var783 /* : String */;
+val* var784 /* : Array[Object] */;
+long var785 /* : Int */;
+val* var786 /* : NativeArray[Object] */;
+val* var787 /* : Object */;
+val* var788 /* : String */;
+static val* varonce789;
+val* var790 /* : String */;
+char* var791 /* : NativeString */;
+long var792 /* : Int */;
+val* var793 /* : String */;
+val* var794 /* : Array[Object] */;
+long var795 /* : Int */;
+val* var796 /* : NativeArray[Object] */;
+val* var797 /* : String */;
+static val* varonce798;
+val* var799 /* : String */;
+char* var800 /* : NativeString */;
+long var801 /* : Int */;
+val* var802 /* : String */;
+static val* varonce803;
+val* var804 /* : String */;
+char* var805 /* : NativeString */;
+long var806 /* : Int */;
+val* var807 /* : String */;
+val* var808 /* : Array[Object] */;
+long var809 /* : Int */;
+val* var810 /* : NativeArray[Object] */;
+val* var811 /* : String */;
+static val* varonce812;
+val* var813 /* : String */;
+char* var814 /* : NativeString */;
+long var815 /* : Int */;
+val* var816 /* : String */;
+static val* varonce817;
+val* var818 /* : String */;
+char* var819 /* : NativeString */;
+long var820 /* : Int */;
+val* var821 /* : String */;
+val* var822 /* : Array[Object] */;
+long var823 /* : Int */;
+val* var824 /* : NativeArray[Object] */;
+val* var825 /* : String */;
+static val* varonce826;
+val* var827 /* : String */;
+char* var828 /* : NativeString */;
+long var829 /* : Int */;
+val* var830 /* : String */;
+var_mclass = p0;
+var = ((val* (*)(val*))(var_mclass->class->vft[COLOR_model__MClass__intro]))(var_mclass) /* intro on <var_mclass:MClass>*/;
+var1 = ((val* (*)(val*))(var->class->vft[COLOR_model__MClassDef__bound_mtype]))(var) /* bound_mtype on <var:MClassDef>*/;
+var_mtype = var1;
+var2 = ((val* (*)(val*))(var_mclass->class->vft[COLOR_abstract_compiler__MClass__c_name]))(var_mclass) /* c_name on <var_mclass:MClass>*/;
+var_c_name = var2;
+var3 = ((val* (*)(val*))(var_mclass->class->vft[COLOR_separate_compiler__MClass__c_instance_name]))(var_mclass) /* c_instance_name on <var_mclass:MClass>*/;
+var_c_instance_name = var3;
+var4 = ((val* (*)(val*))(self->class->vft[COLOR_separate_compiler__SeparateCompiler__method_tables]))(self) /* method_tables on <self:SeparateErasureCompiler>*/;
+var5 = ((val* (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var4, var_mclass) /* [] on <var4:Map[MClass, Array[nullable MPropDef]]>*/;
+var_vft = var5;
+var6 = ((val* (*)(val*))(self->class->vft[COLOR_separate_compiler__SeparateCompiler__attr_tables]))(self) /* attr_tables on <self:SeparateErasureCompiler>*/;
+var7 = ((val* (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var6, var_mclass) /* [] on <var6:Map[MClass, Array[nullable MPropDef]]>*/;
+var_attrs = var7;
+var8 = ((val* (*)(val*))(self->class->vft[COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_tables]))(self) /* class_tables on <self:SeparateErasureCompiler>*/;
+var9 = ((val* (*)(val*, val*))(var8->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var8, var_mclass) /* [] on <var8:Map[MClass, Array[nullable MClass]]>*/;
+var_class_table = var9;
+var10 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on <self:SeparateErasureCompiler>*/;
+var_v = var10;
+if (varonce) {
+var11 = varonce;
+} else {
+var12 = "/* runtime class ";
+var13 = 17;
+var14 = string__NativeString__to_s_with_length(var12, var13);
+var11 = var14;
+varonce = var11;
+}
+if (varonce15) {
+var16 = varonce15;
+} else {
+var17 = " */";
+var18 = 3;
+var19 = string__NativeString__to_s_with_length(var17, var18);
+var16 = var19;
+varonce15 = var16;
+}
+var20 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var20 = array_instance Array[Object] */
+var21 = 3;
+var22 = NEW_array__NativeArray(var21, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var22)->values[0] = (val*) var11;
+((struct instance_array__NativeArray*)var22)->values[1] = (val*) var_c_name;
+((struct instance_array__NativeArray*)var22)->values[2] = (val*) var16;
+((void (*)(val*, val*, long))(var20->class->vft[COLOR_array__Array__with_native]))(var20, var22, var21) /* with_native on <var20:Array[Object]>*/;
+}
+var23 = ((val* (*)(val*))(var20->class->vft[COLOR_string__Object__to_s]))(var20) /* to_s on <var20:Array[Object]>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var23) /* add_decl on <var_v:SeparateCompilerVisitor>*/;
+if (varonce24) {
+var25 = varonce24;
+} else {
+var26 = "class_";
+var27 = 6;
+var28 = string__NativeString__to_s_with_length(var26, var27);
+var25 = var28;
+varonce24 = var25;
+}
+var29 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var29 = array_instance Array[Object] */
+var30 = 2;
+var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var31)->values[0] = (val*) var25;
+((struct instance_array__NativeArray*)var31)->values[1] = (val*) var_c_name;
+((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on <var29:Array[Object]>*/;
+}
+var32 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on <var29:Array[Object]>*/;
+if (varonce33) {
+var34 = varonce33;