(define first-perfect-after (lambda (n) (let ((next (+ n 1))) (if (perfect? next) next (first-perfect-after next)))))The two sets of parentheses around next and (+ n 1) are because let allows more than one name to be introduced:
(let ((a 2) (b 3)) (+ a b)) => 5