One Last Example

left top

(define cast-nines
  (lambda (n)
    (define loop
      (lambda (answer-so-far left-to-do)
        (if (zero? left-to-do)
            answer-so-far
            (let ((next (+ answer-so-far
                           (remainder left-to-do 10))))
              (loop (simplify next)
                    (quotient left-to-do 10))))))
    (loop 0 n)))