> (define fib (lambda args #f)) > (set! fib (lambda (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))) argh -- that tickles a bug in s7 -- change it to (define fib (lambda (n) #f)) then the set!, and s7 stupidly uses the old version of fib in the lambda body! I can't believe I never noticed this. Thanks!