
int kons(int x, int y) {
  int temp;
  int temp2;
  if (curr_cell + 1 < cell_max) {
    Msetcar(curr_cell, x);
    Msetcdr(curr_cell, y);
    temp = curr_cell;
    curr_cell = curr_cell + 2;
    return LISTTYPE | temp;
  }
  else {
    temp2 = gc(x, y, 2);
    return kons(gc_car, gc_cdr); // try again
  }
}
