use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / standard___collection___abstract_collection._sep.c
diff --git a/c_src/standard___collection___abstract_collection._sep.c b/c_src/standard___collection___abstract_collection._sep.c
deleted file mode 100644 (file)
index b25592b..0000000
+++ /dev/null
@@ -1,2317 +0,0 @@
-/* This C file is generated by NIT to compile module standard___collection___abstract_collection. */
-#include "standard___collection___abstract_collection._sep.h"
-val_t standard___collection___abstract_collection___Collection___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 42;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:42 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 42);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Collection___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  fun_t CREG[1];
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 45;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___iterate;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.closure_ctx = closctx_param;
-  fra.me.closure_funs = CREG;
-  fra.me.REG[0] = p0;
-  CREG[0] = clos_fun0;
-  /* ./../lib/standard//collection//abstract_collection.nit:49 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//collection//abstract_collection.nit:50 */
-  while(1) {
-    REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//collection//abstract_collection.nit:51 */
-      fra.me.REG[1] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
-      ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, fra.me.REG[1]);
-      if (closctx_param->has_broke) {
-        goto label1;
-      }
-      /* ./../lib/standard//collection//abstract_collection.nit:52 */
-      CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
-    } else {
-      /* ./../lib/standard//collection//abstract_collection.nit:50 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___Collection___is_empty(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 56;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___is_empty;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:56 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 56);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Collection___length(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 59;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___length;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:59 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 59);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Collection___has(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 62;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___has;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:62 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 62);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Collection___has_only(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 66;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___has_only;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:66 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 66);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Collection___count(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 71;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___count;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:71 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 71);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Collection___first(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 75;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___first;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:75 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 75);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___NaiveCollection___is_empty(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 83;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___is_empty;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:83 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    /* ./../lib/standard//kernel.nit:227 */
-    REGB1 = TAG_Bool((REGB0)==(REGB1));
-    /* ./../lib/standard//collection//abstract_collection.nit:83 */
-    REGB2 = REGB1;
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB2;
-}
-val_t standard___collection___abstract_collection___NaiveCollection___length(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 85;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___length;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:87 */
-  REGB0 = TAG_Int(0);
-  fra.me.REG[1] = REGB0;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___length_1));
-  /* ./../lib/standard//collection//abstract_collection.nit:89 */
-  REGB0 = fra.me.REG[1];
-  goto label2;
-  label2: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-  void OC_standard___collection___abstract_collection___NaiveCollection___length_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    val_t REGB0;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:88 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___length;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    REGB0 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:235 */
-    REGB0 = TAG_Int(UNTAG_Int(closctx->REG[1])+UNTAG_Int(REGB0));
-    /* ./../lib/standard//collection//abstract_collection.nit:88 */
-    closctx->REG[1] = REGB0;
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___NaiveCollection___has(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 92;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___has_1));
-  switch ((&(fra.me))->has_broke) {
-    case 0: break;
-    case 1: (&(fra.me))->has_broke = 0; goto label3;
-  }
-  /* ./../lib/standard//collection//abstract_collection.nit:95 */
-  REGB0 = TAG_Bool(false);
-  fra.me.REG[0] = REGB0;
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-  void OC_standard___collection___abstract_collection___NaiveCollection___has_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    val_t REGB0;
-    val_t REGB1;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:94 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
-        REGB0 = REGB1;
-      } else {
-        REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-        REGB0 = REGB1;
-      }
-    }
-    if (UNTAG_Bool(REGB0)) {
-      REGB0 = TAG_Bool(true);
-      closctx->REG[0] = REGB0;
-      closctx->has_broke = 1;
-      goto label2;
-    }
-    label2: while(0);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___NaiveCollection___has_only(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 98;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has_only;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___has_only_1));
-  switch ((&(fra.me))->has_broke) {
-    case 0: break;
-    case 1: (&(fra.me))->has_broke = 0; goto label3;
-  }
-  /* ./../lib/standard//collection//abstract_collection.nit:101 */
-  REGB0 = TAG_Bool(true);
-  fra.me.REG[0] = REGB0;
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-  void OC_standard___collection___abstract_collection___NaiveCollection___has_only_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    val_t REGB0;
-    val_t REGB1;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:100 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has_only;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
-        REGB0 = REGB1;
-      } else {
-        REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-        REGB0 = REGB1;
-      }
-    }
-    REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-    if (UNTAG_Bool(REGB0)) {
-      REGB0 = TAG_Bool(false);
-      closctx->REG[0] = REGB0;
-      closctx->has_broke = 1;
-      goto label2;
-    }
-    label2: while(0);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___NaiveCollection___count(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 104;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___count;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:106 */
-  REGB0 = TAG_Int(0);
-  fra.me.REG[2] = REGB0;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___count_1));
-  /* ./../lib/standard//collection//abstract_collection.nit:108 */
-  REGB0 = fra.me.REG[2];
-  goto label2;
-  label2: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-  void OC_standard___collection___abstract_collection___NaiveCollection___count_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    val_t REGB0;
-    val_t REGB1;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:107 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___count;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
-        REGB0 = REGB1;
-      } else {
-        REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-        REGB0 = REGB1;
-      }
-    }
-    if (UNTAG_Bool(REGB0)) {
-      REGB0 = TAG_Int(1);
-      /* ./../lib/standard//kernel.nit:235 */
-      REGB0 = TAG_Int(UNTAG_Int(closctx->REG[2])+UNTAG_Int(REGB0));
-      /* ./../lib/standard//collection//abstract_collection.nit:107 */
-      closctx->REG[2] = REGB0;
-    }
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___NaiveCollection___first(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 111;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___first;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:113 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:234 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* ./../lib/standard//collection//abstract_collection.nit:113 */
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    nit_abort("Assert failed", NULL, LOCATE_standard___collection___abstract_collection, 113);
-  }
-  /* ./../lib/standard//collection//abstract_collection.nit:114 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___Iterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 121;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:121 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 121);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Iterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 125;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:125 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 125);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___Iterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 129;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:129 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 129);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Container___first(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 137;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___first;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:137 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___Container___is_empty(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 139;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___is_empty;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:139 */
-  REGB0 = TAG_Bool(false);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___Container___length(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 141;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___length;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:141 */
-  REGB0 = TAG_Int(1);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___Container___has(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 143;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___has;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:143 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
-  REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-      REGB0 = REGB1;
-    }
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___Container___has_only(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 145;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___has_only;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:145 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
-  REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-      REGB0 = REGB1;
-    }
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___Container___count(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 147;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___count;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:149 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
-  REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//collection//abstract_collection.nit:150 */
-    REGB0 = TAG_Int(1);
-    goto label1;
-  } else {
-    /* ./../lib/standard//collection//abstract_collection.nit:152 */
-    REGB1 = TAG_Int(0);
-    REGB0 = REGB1;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___Container___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 156;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:156 */
-  fra.me.REG[0] = NEW_ContainerIterator_standard___collection___abstract_collection___ContainerIterator___init(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___Container___init(val_t p0, val_t p1, int* init_table){
-  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___Container].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  if (init_table[itpos0]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 158;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:159 */
-  ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos0] = 1;
-  return;
-}
-val_t standard___collection___abstract_collection___Container___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 161;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:161 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___Container___item__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 161;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___item__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:161 */
-  ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___ContainerIterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 168;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:168 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_container", LOCATE_standard___collection___abstract_collection, 168);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Container___item(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___ContainerIterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 170;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:170 */
-  REGB0 = TAG_Bool(false);
-  ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]) = REGB0;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___ContainerIterator___init(val_t p0, val_t p1, int* init_table){
-  int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___ContainerIterator].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  if (init_table[itpos1]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 172;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:172 */
-  ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos1] = 1;
-  return;
-}
-val_t standard___collection___abstract_collection___ContainerIterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 174;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:174 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_is_ok", LOCATE_standard___collection___abstract_collection, 174);
-  }
-  REGB0 = ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___collection___abstract_collection___RemovableCollection___clear(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 182;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___clear;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:182 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 182);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___RemovableCollection___remove(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 185;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___remove;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:185 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 185);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___RemovableCollection___remove_all(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 188;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___remove_all;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:189 */
-  while(1) {
-    REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    if (UNTAG_Bool(REGB0)) {
-      CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    } else {
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___SimpleCollection___add(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 195;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:195 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 195);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___SimpleCollection___add_all(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 199;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add_all;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___SimpleCollection___add_all_1));
-  stack_frame_head = fra.me.prev;
-  return;
-}
-  void OC_standard___collection___abstract_collection___SimpleCollection___add_all_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:200 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add_all;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___Set___has_only(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t REGB3;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 215;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___has_only;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:217 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//collection//abstract_collection.nit:218 */
-  REGB1 = TAG_Int(1);
-  REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    /* ./../lib/standard//kernel.nit:227 */
-    REGB1 = TAG_Bool((REGB0)==(REGB1));
-    /* ./../lib/standard//collection//abstract_collection.nit:218 */
-    REGB2 = REGB1;
-  }
-  if (UNTAG_Bool(REGB2)) {
-    /* ./../lib/standard//collection//abstract_collection.nit:219 */
-    REGB2 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    goto label1;
-  } else {
-    /* ./../lib/standard//collection//abstract_collection.nit:220 */
-    REGB1 = TAG_Int(0);
-    REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
-    if (UNTAG_Bool(REGB3)) {
-    } else {
-      /* ./../lib/standard//kernel.nit:227 */
-      REGB1 = TAG_Bool((REGB0)==(REGB1));
-      /* ./../lib/standard//collection//abstract_collection.nit:220 */
-      REGB3 = REGB1;
-    }
-    if (UNTAG_Bool(REGB3)) {
-      /* ./../lib/standard//collection//abstract_collection.nit:221 */
-      REGB3 = TAG_Bool(true);
-      REGB2 = REGB3;
-      goto label1;
-    } else {
-      /* ./../lib/standard//collection//abstract_collection.nit:223 */
-      REGB3 = TAG_Bool(false);
-      REGB2 = REGB3;
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB2;
-}
-val_t standard___collection___abstract_collection___Set___count(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 227;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___count;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:230 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//collection//abstract_collection.nit:231 */
-    REGB0 = TAG_Int(1);
-    goto label1;
-  } else {
-    /* ./../lib/standard//collection//abstract_collection.nit:233 */
-    REGB1 = TAG_Int(0);
-    REGB0 = REGB1;
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___collection___abstract_collection___Set___remove_all(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 237;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___remove_all;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:238 */
-  CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapRead_____bra(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 243;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead_____bra;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:243 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 243);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapRead___has_key(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 246;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___has_key;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:247 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___keys(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___MapRead___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 249;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:249 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 249);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___MapRead___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  fun_t CREG[1];
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 252;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterate;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.closure_ctx = closctx_param;
-  fra.me.closure_funs = CREG;
-  fra.me.REG[0] = p0;
-  CREG[0] = clos_fun0;
-  /* ./../lib/standard//collection//abstract_collection.nit:256 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//collection//abstract_collection.nit:257 */
-  while(1) {
-    REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//collection//abstract_collection.nit:258 */
-      fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
-      fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
-      ((void (*)(struct stack_frame_t *, val_t, val_t))(CREG[0]))(closctx_param, fra.me.REG[1], fra.me.REG[2]);
-      if (closctx_param->has_broke) {
-        goto label1;
-      }
-      /* ./../lib/standard//collection//abstract_collection.nit:259 */
-      CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
-    } else {
-      /* ./../lib/standard//collection//abstract_collection.nit:257 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapRead___values(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 263;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___values;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:263 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 263);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapRead___keys(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 268;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___keys;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:268 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 268);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapRead___is_empty(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 273;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___is_empty;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:273 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 273);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapRead___length(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 276;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___length;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:276 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 276);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Map_____braeq(val_t p0, val_t p1, val_t p2){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 304;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Map_____braeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:304 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 304);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Map___recover_with(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 307;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___recover_with;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[3] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:311 */
-  fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[1])(fra.me.REG[1]);
-  /* ./../lib/standard//collection//abstract_collection.nit:312 */
-  while(1) {
-    REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//collection//abstract_collection.nit:313 */
-      fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[1])(fra.me.REG[1]);
-      fra.me.REG[3] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[1])(fra.me.REG[1]);
-      CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
-      /* ./../lib/standard//collection//abstract_collection.nit:314 */
-      CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[1])(fra.me.REG[1]);
-    } else {
-      /* ./../lib/standard//collection//abstract_collection.nit:312 */
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Map___clear(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 318;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___clear;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:318 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 318);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___Map___values(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 321;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___values;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:321 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 321);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___Map___keys(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 323;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___keys;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:323 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 323);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapIterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 328;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:328 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 328);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapIterator___key(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 332;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___key;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:332 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 332);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___MapIterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 336;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:336 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 336);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapIterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 340;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:340 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 340);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___MapKeysIterator___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 350;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:350 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 350);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___MapKeysIterator___iterator__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 350;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:350 */
-  ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapKeysIterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 353;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:353 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___collection___abstract_collection___MapKeysIterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 354;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:354 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapKeysIterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 355;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:355 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___MapKeysIterator___init(val_t p0, val_t p1, int* init_table){
-  int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapKeysIterator].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  if (init_table[itpos2]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 0;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos2] = 1;
-  return;
-}
-val_t standard___collection___abstract_collection___MapValuesIterator___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 361;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:361 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 361);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___MapValuesIterator___iterator__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 361;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:361 */
-  ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapValuesIterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 364;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:364 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___collection___abstract_collection___MapValuesIterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 365;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:365 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___MapValuesIterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 366;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:366 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___MapValuesIterator___init(val_t p0, val_t p1, int* init_table){
-  int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapValuesIterator].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  if (init_table[itpos3]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 0;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos3] = 1;
-  return;
-}
-val_t standard___collection___abstract_collection___SequenceRead___first(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 373;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___first;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:377 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Assert %s  failed", "'not_empty'", LOCATE_standard___collection___abstract_collection, 377);
-  }
-  /* ./../lib/standard//collection//abstract_collection.nit:378 */
-  REGB0 = TAG_Int(0);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___SequenceRead_____bra(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 381;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead_____bra;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:381 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 381);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___SequenceRead___last(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 386;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___last;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:390 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Assert %s  failed", "'not_empty'", LOCATE_standard___collection___abstract_collection, 390);
-  }
-  /* ./../lib/standard//collection//abstract_collection.nit:391 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
-  REGB1 = TAG_Int(1);
-  /* ./../lib/standard//kernel.nit:237 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  /* ./../lib/standard//collection//abstract_collection.nit:391 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB1);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___SequenceRead___index_of(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 394;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___index_of;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:399 */
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//collection//abstract_collection.nit:400 */
-  while(1) {
-    REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-    if (UNTAG_Bool(REGB0)) {
-      /* ./../lib/standard//collection//abstract_collection.nit:401 */
-      fra.me.REG[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
-      REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
-      if (UNTAG_Bool(REGB0)) {
-      } else {
-        REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-        if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(false);
-          REGB0 = REGB1;
-        } else {
-          REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-          REGB0 = REGB1;
-        }
-      }
-      if (UNTAG_Bool(REGB0)) {
-        REGB0 = CALL_standard___collection___abstract_collection___IndexedIterator___index(fra.me.REG[0])(fra.me.REG[0]);
-        goto label1;
-      }
-      /* ./../lib/standard//collection//abstract_collection.nit:402 */
-      CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
-    } else {
-      /* ./../lib/standard//collection//abstract_collection.nit:400 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  /* ./../lib/standard//collection//abstract_collection.nit:404 */
-  REGB1 = TAG_Int(1);
-  /* ./../lib/standard//kernel.nit:236 */
-  REGB1 = TAG_Int(-UNTAG_Int(REGB1));
-  /* ./../lib/standard//collection//abstract_collection.nit:404 */
-  REGB0 = REGB1;
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-val_t standard___collection___abstract_collection___SequenceRead___iterator(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 407;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___iterator;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:407 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 407);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Sequence___first__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 416;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___first__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:419 */
-  REGB0 = TAG_Int(0);
-  CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Sequence___last__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 421;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___last__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:425 */
-  REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./../lib/standard//collection//abstract_collection.nit:426 */
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ./../lib/standard//kernel.nit:234 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* ./../lib/standard//collection//abstract_collection.nit:426 */
-  if (UNTAG_Bool(REGB1)) {
-    /* ./../lib/standard//collection//abstract_collection.nit:427 */
-    REGB1 = TAG_Int(1);
-    /* ./../lib/standard//kernel.nit:237 */
-    REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-    /* ./../lib/standard//collection//abstract_collection.nit:427 */
-    CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
-  } else {
-    /* ./../lib/standard//collection//abstract_collection.nit:429 */
-    REGB1 = TAG_Int(0);
-    CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Sequence___add(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 433;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___add;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:434 */
-  CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Sequence___push(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 436;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___push;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:436 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 436);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Sequence___append(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 439;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___Sequence___append_1));
-  stack_frame_head = fra.me.prev;
-  return;
-}
-  void OC_standard___collection___abstract_collection___Sequence___append_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    fun_t CREG[1];
-    val_t tmp;
-    /* ./../lib/standard//collection//abstract_collection.nit:440 */
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_standard___collection___abstract_collection;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    CALL_standard___collection___abstract_collection___Sequence___push(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-val_t standard___collection___abstract_collection___Sequence___pop(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 442;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___pop;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:442 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 442);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Sequence___unshift(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 445;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___unshift;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:445 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 445);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___Sequence___shift(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 448;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___shift;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:448 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 448);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-void standard___collection___abstract_collection___Sequence_____braeq(val_t p0, val_t p1, val_t p2){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 452;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence_____braeq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:452 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 452);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Sequence___remove_at(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 455;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___remove_at;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:455 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 455);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___IndexedIterator___index(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 462;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___IndexedIterator___index;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:462 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 462);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___CoupleMap___couple_at(val_t p0, val_t p1){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 469;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap___couple_at;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 0;
-  fra.me.nitni_local_ref_head = NULL;
-  /* ./../lib/standard//collection//abstract_collection.nit:469 */
-  nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 469);
-  stack_frame_head = fra.me.prev;
-  return NIT_NULL;
-}
-val_t standard___collection___abstract_collection___CoupleMap_____bra(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 473;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap_____bra;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:475 */
-  fra.me.REG[1] = CALL_standard___collection___abstract_collection___CoupleMap___couple_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* ./../lib/standard//collection//abstract_collection.nit:476 */
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    /* ./../lib/standard//collection//abstract_collection.nit:477 */
-    nit_abort("Aborted", NULL, LOCATE_standard___collection___abstract_collection, 477);
-  } else {
-    /* ./../lib/standard//collection//abstract_collection.nit:479 */
-    REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 479);
-    }
-    fra.me.REG[1] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[1])(fra.me.REG[1]);
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-val_t standard___collection___abstract_collection___CoupleMapIterator___item(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 489;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___item;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:489 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 489);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 489);
-  }
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___CoupleMapIterator___key(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 493;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___key;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:493 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 493);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 493);
-  }
-  fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___first(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t standard___collection___abstract_collection___CoupleMapIterator___is_ok(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 495;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___is_ok;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:495 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 495);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-void standard___collection___abstract_collection___CoupleMapIterator___next(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 497;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___next;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:499 */
-  REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 499);
-  }
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___CoupleMapIterator___init(val_t p0, val_t p1, int* init_table){
-  int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___CoupleMapIterator].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  if (init_table[itpos4]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 504;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:504 */
-  ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos4] = 1;
-  return;
-}
-val_t standard___collection___abstract_collection___Couple___first(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 512;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:512 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___Couple___first__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 512;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:512 */
-  ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-val_t standard___collection___abstract_collection___Couple___second(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 515;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* ./../lib/standard//collection//abstract_collection.nit:515 */
-  fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void standard___collection___abstract_collection___Couple___second__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 515;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* ./../lib/standard//collection//abstract_collection.nit:515 */
-  ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-void standard___collection___abstract_collection___Couple___init(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___Couple].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t tmp;
-  if (init_table[itpos5]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_standard___collection___abstract_collection;
-  fra.me.line = 518;
-  fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  fra.me.REG[2] = p2;
-  /* ./../lib/standard//collection//abstract_collection.nit:521 */
-  ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
-  /* ./../lib/standard//collection//abstract_collection.nit:522 */
-  ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[2];
-  stack_frame_head = fra.me.prev;
-  init_table[itpos5] = 1;
-  return;
-}