@reiver

Having to concern yourself with tail-recursion, in a functional programming language, is an abstraction leak.