Tail Call Optimisation for ruby! Pretty slow but pretty fun