Код Ревью

Сравни свои решения

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