つまりHaskellは
(define (fib n)
 (if (< n 2) n
  (+ (fib (- n 1))
   (fib (- n 2)))))
こういうのを
(define (fib n)
 (let inner ((n n)(k identity))
  (if (< n 2) (k n)
   (inner (- n 1) (lambda(l)
     (inner (- n 2) (lambda(r)
       (k (+ l r)))))))))
こういう形式(CPS)に書きかえるって事でよいか?
でもこれは、どのみち(< n 2)になるまでクロージャが連なって状態が
増えてくただの問題のたらい回しなわけだから、
先のHaskellの
sum (x:xs) = x + sum xs
はsumに無限の値が入った場合はヒープが枯渇して死ぬ
可能性があるってことだよな?