-/* <var2:Int> isa OTHER */
-type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER];
-cltype = type_struct->color;
-idtype = type_struct->id;
-if(cltype >= (&type_kernel__Int)->table_size) {
-var3 = 0;
-} else {
-var3 = (&type_kernel__Int)->type_table[cltype] == idtype;
-}
-if (!var3) {
-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/collection/range.nit", 98);
-exit(1);
-}
-var4 = 1;
-var5 = ((val* (*)(val*, long))(self->class->vft[COLOR_kernel__Discrete___45d]))(self, var4) /* - on <self:Discrete>*/;
-var6 = BOX_kernel__Int(var2); /* autobox from Int to Discrete */
-((void (*)(val*, val*, val*))(var1->class->vft[COLOR_range__Range__init]))(var1, var6, var5) /* init on <var1:Range[Discrete]>*/;
-CHECK_NEW_range__Range(var1);
+var3 = BOX_kernel__Int(var2); /* autobox from Int to Discrete */
+var4 = BOX_kernel__Int(self); /* autobox from Int to Discrete */
+((void (*)(val*, val*, val*))(var1->class->vft[COLOR_range__Range__without_last]))(var1, var3, var4) /* without_last on <var1:Range[Int]>*/;