Right, you could use co-recursion. Or you could just use a queue.