; Now misleadning to use the name fac. Use the name i instead: (let ((i (lambda (f) (lambda (n) (let ((g (lambda (h) ; NOW PASS n AS PARAMETER TO (lambda (h) ...) (if (= n 0) 1 (* n (h (- n 1))))))) (g (f f))) )))) ((i i) 5))