2. Exercise 3.9, page 243.
Note: The first time that fact-iter is called, a new environment is created, but when fact-iter calls itself tail-recursively, the same environment is used over again. Show this environment in its final form after the last call to fact-iter. (Remember that the tail-recursive calls are actually handled by an iterative loop in the compiled code for fact-iter.)
3. Exercise 3.11, page 251.
4. Exercise 3.12, page 255.
5. Exercise 3.14, page 256.