На самом деле, Сильвестр, уже объяснил.
; I like to write `let` forms in this way:
(let ((x 2)
(y 3))
(let ((x 7)
(z (+ x y))) ; since this is within a `let` definition part,
; and not in a `let*` definition part,
; the definition of z - which is (+ x y) -
; cannot "see" (x 7) yet,
; so it "searches" for x and "finds" it above
; in the let definition (x 2).
; therefore, (z (+ x y)) will be evaluated as
; (z (+ 2 3)) thus (z 5)
(* z x))) ; this now is in the inner-let body,
; thus it "sees" (x 7) which has "shadowed" (x 2)
; therefore this will be evaluated as (* 5 7), thus 35.