Answer from cs61c-ew (Joo-Rak Son 16103505) for Question 2 The problem with recursion is that it constantly builds on top of the previous frame, increasing the number of of stacks, possibly to an extent that memory will eventually run out (memory overflow in Scheme). This is not likely to happen in our new language. If we forbid the use of recursion and employ only iteration, we would be eliminating the tedium of having manipulate the stack frames--keeping track of the stack pointer, storing all previous parameters, return values, and other registers on stack, and moving the stack pointer for the next function call, and moving everything back when the function is done. This will also reduce spilling greatly.