(let ((fac (lambda (f n) (if (= n 0) 1 (* n (f f (- n 1))))))) (fac fac 5)) ; 120