(defun reuse-cons (x y x-y &key (test #'eql)) (if (and (funcall test x (car x-y)) (funcall test y (cdr x-y))) x-y (cons x y)))