I prefer by far a tail recursion than a `goto`, it is less prone to error during further maintenance.