a bit more on recur
handling unbounded recur