@Override public final boolean equal(LispObject obj) { if (this == obj) return true; if (obj.isCons()) { if (car.equal(((Cons) obj).car) && cdr.equal(((Cons) obj).cdr)) return true; } return false; }