Infinite data structure with Lazy data structure with tail recursion