(define first-perfect-after
(lambda (n)
(if (perfect? (+ n 1))
(+ n 1)
(first-perfect-after (+ n 1)))))
> (first-perfect-after 0)
6
> (first-perfect-after 6)
28
(+ n 1) is evaluated multiple times, which is both ugly and
inefficient.