Refactor: Remove explicit recursion
Refactor: Remove explicit recursion

Replace explicit recursion with `fold`. Emulate early return with
exceptions.

Bugfry/exercises,Bugfry/exercism,Bugfry/exercises,Bugfry/exercism,Bugfry/exercism,Bugfry/exercism,Bugfry/exercism,Bugfry/exercism,Bugfry/exercises,Bugfry/exercises,Bugfry/exercises,Bugfry/exercises