letrec can be implemented with use of an assignment
(letrec ((n<sub>1</sub> e<sub>1</sub>) ... (n<sub>k</sub> e<sub>k</sub>)) body-expr)
(let ((n<sub>1</sub> #f) ... (n<sub>k</sub> #f)) (set! n<sub>1</sub> e<sub>1</sub>) ... (set! n<sub>k</sub> e<sub>k</sub>) body-expr)