-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "CoupleMap#0", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 486);
-show_backtrace(1);
-}
-var_key = p0;
-var2 = ((long (*)(val*, val*))(self->class->vft[COLOR_array__ArrayMap__index]))(self, var_key) /* index on <self:ArrayMap[Object, nullable Object]>*/;
-var_i = var2;
-var3 = 0;
-{ /* Inline kernel#Int#>= (var_i,var3) */
-/* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
-/* <var3:Int> isa OTHER */
-var6 = 1; /* easy <var3:Int> isa OTHER*/
-if (!var6) {
-var_class_name9 = type_kernel__Int.name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-show_backtrace(1);
-}
-var10 = var_i >= var3;
-var4 = var10;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-if (var4){
-var11 = self->attrs[COLOR_array__ArrayMap___items].val; /* _items on <self:ArrayMap[Object, nullable Object]> */
-if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _items");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 490);
-show_backtrace(1);
-}
-var12 = ((val* (*)(val*, long))(var11->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var11, var_i) /* [] on <var11:Array[Couple[Object, nullable Object]]>*/;
-var = var12;
-goto RET_LABEL;
-} else {
-var13 = NULL;
-var = var13;
-goto RET_LABEL;
-}
-RET_LABEL:;
-return var;
-}
-/* method array#ArrayMap#couple_at for (self: Object, Object): nullable Couple[Object, nullable Object] */
-val* VIRTUAL_array__ArrayMap__couple_at(val* self, val* p0) {
-val* var /* : nullable Couple[Object, nullable Object] */;
-val* var1 /* : nullable Couple[Object, nullable Object] */;
-var1 = array__ArrayMap__couple_at(self, p0);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
-void array__ArrayMap__remove_at_index(val* self, long p0) {
-long var_i /* var i: Int */;
-val* var /* : Array[Couple[Object, nullable Object]] */;
-val* var1 /* : Array[Couple[Object, nullable Object]] */;
-val* var2 /* : nullable Object */;
-val* var3 /* : Array[Couple[Object, nullable Object]] */;
-val* var4 /* : nullable Object */;
-var_i = p0;
-var = self->attrs[COLOR_array__ArrayMap___items].val; /* _items on <self:ArrayMap[Object, nullable Object]> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _items");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
-show_backtrace(1);
-}
-var1 = self->attrs[COLOR_array__ArrayMap___items].val; /* _items on <self:ArrayMap[Object, nullable Object]> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _items");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
-show_backtrace(1);
-}
-var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__SequenceRead__last]))(var1) /* last on <var1:Array[Couple[Object, nullable Object]]>*/;
-((void (*)(val*, long, val*))(var->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var, var_i, var2) /* []= on <var:Array[Couple[Object, nullable Object]]>*/;
-var3 = self->attrs[COLOR_array__ArrayMap___items].val; /* _items on <self:ArrayMap[Object, nullable Object]> */
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _items");
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 503);
-show_backtrace(1);
-}
-var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Sequence__pop]))(var3) /* pop on <var3:Array[Couple[Object, nullable Object]]>*/;
-var4;
-RET_LABEL:;
-}
-/* method array#ArrayMap#remove_at_index for (self: Object, Int) */
-void VIRTUAL_array__ArrayMap__remove_at_index(val* self, long p0) {
-array__ArrayMap__remove_at_index(self, p0);
-RET_LABEL:;
-}
-/* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
-long array__ArrayMap__index(val* self, val* p0) {
-long var /* : Int */;
-short int var1 /* : Bool */;
-int cltype;
-int idtype;
-const struct type* type_struct;
-const char* var_class_name;
-val* var_key /* var key: Object */;
-long var2 /* : Int */;
-long var_l /* var l: Int */;
-short int var3 /* : Bool */;
-val* var4 /* : Array[Couple[Object, nullable Object]] */;
-long var5 /* : Int */;
-short int var6 /* : Bool */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-const char* var_class_name11;
-short int var12 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var13 /* : Array[Couple[Object, nullable Object]] */;
-val* var14 /* : nullable Object */;
-val* var15 /* : nullable Object */;
-short int var16 /* : Bool */;
-long var17 /* : Int */;
-long var_i /* var i: Int */;
-val* var18 /* : Array[Couple[Object, nullable Object]] */;
-long var19 /* : Int */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-int cltype23;
-int idtype24;
-const char* var_class_name25;
-short int var26 /* : Bool */;
-val* var27 /* : Array[Couple[Object, nullable Object]] */;
-val* var28 /* : nullable Object */;
-val* var29 /* : nullable Object */;
-short int var30 /* : Bool */;
-long var31 /* : Int */;
-long var32 /* : Int */;
-long var34 /* : Int */;
-long var35 /* : Int */;
-long var36 /* : Int */;
-long var38 /* : Int */;
-/* Covariant cast for argument 0 (key) <p0:Object> isa ArrayMap#0 */
-/* <p0:Object> isa ArrayMap#0 */
-type_struct = self->type->resolution_table->types[COLOR_array__ArrayMap_FT0];
-cltype = type_struct->color;
-idtype = type_struct->id;
-if(cltype >= p0->type->table_size) {
-var1 = 0;
-} else {
-var1 = p0->type->type_table[cltype] == idtype;
-}
-if (!var1) {
-var_class_name = p0 == NULL ? "null" : p0->type->name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap#0", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/array.nit", 509);