With TCO, a state transition is implemented just as a function call. I find it very elegant and see TCO as great bonus in programming languages.