Код Ревью
Сравни свои решения
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