Stuff
public text v1 · immutableapply2 :: (Integer -> Integer -> Integer) -> Integer -> Integer -> Integer -> Integer
apply2 f num1 num2 num3
| num3 == 0 = num1 + 0
| even num3 = apply f (f num1 num2) num2 (num3 `mod` 2)
| otherwise = error "divided by zero"