A Procedure for Approximation Through Iterative Improvement

   (define find-approximation-from
     (lambda (starting-point)
       (if (good-enough? starting-point)
           starting-point
           (find-approximation-from (improve starting-point)))))