-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[Map#0, Map#1]", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 342);
-show_backtrace(1);
-}
-var_map = p0;
-var1 = ((val* (*)(val*))(var_map->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_map) /* iterator on <var_map:Map[Object, nullable Object]>*/;
-var_i = var1;
-for(;;) {
-var2 = ((short int (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var_i) /* is_ok on <var_i:MapIterator[Object, nullable Object]>*/;
-if (!var2) break;
-var3 = ((val* (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__key]))(var_i) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
-var4 = ((val* (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__item]))(var_i) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
-((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(self, var3, var4) /* []= on <self:Map[Object, nullable Object]>*/;
-((void (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__next]))(var_i) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
-CONTINUE_label: (void)0;
-}
-BREAK_label: (void)0;
-RET_LABEL:;
-}
-/* method abstract_collection#Map#recover_with for (self: Object, Map[Object, nullable Object]) */
-void VIRTUAL_abstract_collection__Map__recover_with(val* self, val* p0) {
-abstract_collection__Map__recover_with(self, p0);
-RET_LABEL:;
-}
-/* method abstract_collection#Map#clear for (self: Map[Object, nullable Object]) */
-void abstract_collection__Map__clear(val* self) {
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "clear", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 353);
-show_backtrace(1);
-RET_LABEL:;
-}
-/* method abstract_collection#Map#clear for (self: Object) */
-void VIRTUAL_abstract_collection__Map__clear(val* self) {
-abstract_collection__Map__clear(self);
-RET_LABEL:;
-}
-/* method abstract_collection#Map#values for (self: Map[Object, nullable Object]): RemovableCollection[nullable Object] */
-val* abstract_collection__Map__values(val* self) {
-val* var /* : RemovableCollection[nullable Object] */;
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "values", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 356);
-show_backtrace(1);
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#Map#values for (self: Object): Collection[nullable Object] */
-val* VIRTUAL_abstract_collection__Map__values(val* self) {
-val* var /* : Collection[nullable Object] */;
-val* var1 /* : RemovableCollection[nullable Object] */;
-var1 = abstract_collection__Map__values(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#Map#keys for (self: Map[Object, nullable Object]): RemovableCollection[Object] */
-val* abstract_collection__Map__keys(val* self) {
-val* var /* : RemovableCollection[Object] */;
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "keys", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 358);
-show_backtrace(1);
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#Map#keys for (self: Object): Collection[Object] */
-val* VIRTUAL_abstract_collection__Map__keys(val* self) {
-val* var /* : Collection[Object] */;
-val* var1 /* : RemovableCollection[Object] */;
-var1 = abstract_collection__Map__keys(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#MapIterator#item for (self: MapIterator[Object, nullable Object]): nullable Object */
-val* abstract_collection__MapIterator__item(val* self) {
-val* var /* : nullable Object */;
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "item", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 363);
-show_backtrace(1);
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#MapIterator#item for (self: Object): nullable Object */
-val* VIRTUAL_abstract_collection__MapIterator__item(val* self) {
-val* var /* : nullable Object */;
-val* var1 /* : nullable Object */;
-var1 = abstract_collection__MapIterator__item(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#MapIterator#key for (self: MapIterator[Object, nullable Object]): Object */
-val* abstract_collection__MapIterator__key(val* self) {
-val* var /* : Object */;
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "key", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 367);
-show_backtrace(1);
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#MapIterator#key for (self: Object): Object */
-val* VIRTUAL_abstract_collection__MapIterator__key(val* self) {
-val* var /* : Object */;
-val* var1 /* : Object */;
-var1 = abstract_collection__MapIterator__key(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method abstract_collection#MapIterator#next for (self: MapIterator[Object, nullable Object]) */
-void abstract_collection__MapIterator__next(val* self) {
-const char* var_class_name;
-var_class_name = self == NULL ? "null" : self->type->name;
-fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "next", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 371);