Скажем, у меня есть функция, которая принимает список и что-то делает:
(defun foo(aList)
(loop for element in aList ...))
Но если список вложен, я хочу сначала сгладить его, прежде чем цикл выполнит что-то, поэтому я хочу использовать другую функцию (defun flatten (aList)), которая сглаживает любой список:
(defun foo(flatten(aList))
(loop for element in aList ...))
Лиспу это не нравится. Есть ли другой прямой способ обойти это?