+/* method abstract_collection#Sequence#insert for (self: Sequence[nullable Object], nullable Object, Int) */
+void abstract_collection__Sequence__insert(val* self, val* p0, long p1) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+short int is_nullable;
+const char* var_class_name;
+const char* var_class_name1;
+/* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
+/* <p0:nullable Object> isa E */
+type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0];
+cltype = type_struct->color;
+idtype = type_struct->id;
+is_nullable = type_struct->is_nullable;
+if(p0 == NULL) {
+var = is_nullable;
+} else {
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 861);
+show_backtrace(1);
+}
+var_class_name1 = self == NULL ? "null" : self->type->name;
+PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert", var_class_name1);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 861);
+show_backtrace(1);
+RET_LABEL:;
+}
+/* method abstract_collection#Sequence#insert for (self: Object, nullable Object, Int) */
+void VIRTUAL_abstract_collection__Sequence__insert(val* self, val* p0, long p1) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+short int is_nullable;
+const char* var_class_name;
+const char* var_class_name2;
+{ /* Inline abstract_collection#Sequence#insert (self,p0,p1) on <self:Object(Sequence[nullable Object])> */
+/* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
+/* <p0:nullable Object> isa E */
+type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0];
+cltype = type_struct->color;
+idtype = type_struct->id;
+is_nullable = type_struct->is_nullable;
+if(p0 == NULL) {
+var = is_nullable;
+} else {
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 861);
+show_backtrace(1);
+}
+var_class_name2 = self == NULL ? "null" : self->type->name;
+PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert", var_class_name2);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 861);
+show_backtrace(1);
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_collection#Sequence#insert_all for (self: Sequence[nullable Object], Collection[nullable Object], Int) */
+void abstract_collection__Sequence__insert_all(val* self, val* p0, long p1) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_coll /* var coll: Collection[nullable Object] */;
+long var_index /* var index: Int */;
+short int var1 /* : Bool */;
+long var2 /* : Int */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+int cltype6;
+int idtype7;
+const char* var_class_name8;
+short int var9 /* : Bool */;
+short int var_ /* var : Bool */;
+long var10 /* : Int */;
+short int var11 /* : Bool */;
+short int var13 /* : Bool */;
+int cltype14;
+int idtype15;
+const char* var_class_name16;
+short int var17 /* : Bool */;
+long var18 /* : Int */;
+short int var19 /* : Bool */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+val* var_23 /* var : Collection[nullable Object] */;
+val* var24 /* : Iterator[nullable Object] */;
+val* var_25 /* var : Iterator[nullable Object] */;
+short int var26 /* : Bool */;
+val* var27 /* : nullable Object */;
+val* var_c /* var c: nullable Object */;
+long var28 /* : Int */;
+long var29 /* : Int */;
+short int var31 /* : Bool */;
+int cltype32;
+int idtype33;
+const char* var_class_name34;
+long var35 /* : Int */;
+/* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
+/* <p0:Collection[nullable Object]> isa Collection[E] */
+type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Collectionabstract_collection__Sequence_FT0];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 871);
+show_backtrace(1);
+}
+var_coll = p0;
+var_index = p1;
+var2 = 0;
+{
+{ /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
+/* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
+/* <var2:Int> isa OTHER */
+var5 = 1; /* easy <var2:Int> isa OTHER*/
+if (unlikely(!var5)) {
+var_class_name8 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
+show_backtrace(1);
+}
+var9 = var_index >= var2;
+var3 = var9;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+}
+var_ = var3;
+if (var3){
+{
+var10 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on <self:Sequence[nullable Object]>*/;
+}
+{
+{ /* Inline kernel#Int#< (var_index,var10) on <var_index:Int> */
+/* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
+/* <var10:Int> isa OTHER */
+var13 = 1; /* easy <var10:Int> isa OTHER*/
+if (unlikely(!var13)) {
+var_class_name16 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var17 = var_index < var10;
+var11 = var17;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+}
+var1 = var11;
+} else {
+var1 = var_;
+}
+if (unlikely(!var1)) {
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 881);
+show_backtrace(1);
+}
+{
+var18 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on <self:Sequence[nullable Object]>*/;
+}
+{
+{ /* Inline kernel#Int#== (var_index,var18) on <var_index:Int> */
+var22 = var_index == var18;
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+var19 = var20;
+}
+if (var19){
+{
+abstract_collection__SimpleCollection__add_all(self, var_coll); /* Direct call abstract_collection#SimpleCollection#add_all on <self:Sequence[nullable Object]>*/
+}
+} else {
+}
+var_23 = var_coll;
+{
+var24 = ((val* (*)(val*))(var_23->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_23) /* iterator on <var_23:Collection[nullable Object]>*/;
+}
+var_25 = var24;
+for(;;) {
+{
+var26 = ((short int (*)(val*))(var_25->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_25) /* is_ok on <var_25:Iterator[nullable Object]>*/;
+}
+if (var26){
+{
+var27 = ((val* (*)(val*))(var_25->class->vft[COLOR_abstract_collection__Iterator__item]))(var_25) /* item on <var_25:Iterator[nullable Object]>*/;
+}
+var_c = var27;
+{
+((void (*)(val*, val*, long))(self->class->vft[COLOR_abstract_collection__Sequence__insert]))(self, var_c, var_index) /* insert on <self:Sequence[nullable Object]>*/;
+}
+var28 = 1;
+{
+{ /* Inline kernel#Int#+ (var_index,var28) on <var_index:Int> */
+/* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
+/* <var28:Int> isa OTHER */
+var31 = 1; /* easy <var28:Int> isa OTHER*/
+if (unlikely(!var31)) {
+var_class_name34 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var35 = var_index + var28;
+var29 = var35;
+goto RET_LABEL30;
+RET_LABEL30:(void)0;
+}
+}
+var_index = var29;
+{
+((void (*)(val*))(var_25->class->vft[COLOR_abstract_collection__Iterator__next]))(var_25) /* next on <var_25:Iterator[nullable Object]>*/;
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+{ /* Inline abstract_collection#Iterator#finish (var_25) on <var_25:Iterator[nullable Object]> */
+RET_LABEL36:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method abstract_collection#Sequence#insert_all for (self: Object, Collection[nullable Object], Int) */
+void VIRTUAL_abstract_collection__Sequence__insert_all(val* self, val* p0, long p1) {
+abstract_collection__Sequence__insert_all(self, p0, p1); /* Direct call abstract_collection#Sequence#insert_all on <self:Object(Sequence[nullable Object])>*/
+RET_LABEL:;
+}