Есть ли какой-нибудь удобный способ в Common Lisp'е внутри функции локально определить рекурсивную функцию так, чтобы не засорять глобальное пространство (как это делает defun), как например в Scheme: (define (factorial n) (define (fact-iter product counter max-count) (if (> counter max-count) product (fact-iter (* counter product) (+ counter 1) max-count))) (fact-iter 1 1 n))