Tail recursion modulo cons