Code Review
Compare your solutions
Program hangs because new-if tries to calculate all arguments before running proc body, that ends in infinite loop of recursion
Program hangs because new-if tries to calculate all arguments before running proc body, that ends in infinite loop of recursion