Max-lisp-eval-глубина в многозначной функции
В четвертом издании книги "Маленький интриган", в главе 8 есть функция "multirember & co", я сделал это на языке "emacs lisp", что привело к следующей проблеме: Emacs: вложение превышает `max-lisp- Eval-глубина
(defun multirember&co (a lat col)
(cond ((null lat) (funcall col '() '()))
((eq (car lat) a) (multirember&co a
(cdr lat)
(lambda (newlat seen)
(funcall col newlat
(cons (car lat) seen)))))
(t (multirember&co a
(cdr lat)
(lambda (newlat seen)
(funcall col (cons (car lat) newlat)
seen))))))
(defun a-friend (x y)
(null y))
(multirember&co 'tuna '(tuna) 'a-friend)
Emacs: вложенность превышает max-lisp-eval-глубина '
Что не так с моим кодом?
заранее спасибо