Answer from cs61c-av (Kenneth Wong 16192104) for Question 2 If recursion were removed, we would still need some type of looping mechanism in order to reduce repetitive lines of code. Scheme had to use recursion because unlike C, it did not have for loops. Loops in MIPs are done with the command j and slt. With loops, it would eliminate the need to store and load local variables of the callee function after its been called and returned. In scheme, we saw infinite loops due to recursion, which could be prevented in a language without recursion.