Chez Scheme Transcript [Fri Mar 11 11:54:32 2011] > (let ([foo (lambda (n) n)]) (foo 4)) 4 > ((lambda (foo) (foo 4)) (lambda (n) n)) 4 > (let ([fac (lambda (n) (if (= n 0) 1 (* n (fac (- n 1)))))]) (fac 5)) Error: variable fac is not bound. Type (debug) to enter the debugger. > ((lambda (fac) (fac 5)) (lambda (n) (if (= n 0) 1 (* n (fac (- n 1)))))) Error: variable fac is not bound. Type (debug) to enter the debugger. > (transcript-off)