More playing with tail recursion