public LispValue nconc(LispValue arg)
  {
    try {
      if (this == arg)
        throw new Exception("nconc: attaching me to myself: " + arg);
    } catch (Exception e) {
      e.printStackTrace();
    }

    if (this == NIL)
      return arg;

    else if (arg instanceof LispCons)
      this.last().rplacd(arg);

    return this;
  }