DL
типа, есть такое выражение
(let* ((a 1)
(b (1+ a))
(c (1- b)))
(some-fn c))
парсер берёт, и делает из него такое (удалили все биндинги кроме одного и выставили его в качестве body)
(let* ((a 1))
a)
эвалим, получаем локальный a
делаем два:
(let* ((a 1)
(b (1+ a)))
b)
эвалим, получаем локальный b
итп
но тут есть одно но, let-like форм не так уж и мало, а если учитывать всякие деструктурирующие то там ваще караул
ну и да, есть ещё и макросы :3