(define def1
(let ( (i 0) )
(lambda () (set! i (+ i 1)) i)))
(define (def2)
(let ( (i 0) )
(lambda () (set! i (+ i 1)) i)))
Почему одна из функций увеличивает внутреннюю переменную, а другая все время возвращает один и тот же результат. Я понимаю, что дело в скобках, но не совсем ясно как это работает.