I see ... I think I understand now.
hmmm ... I am little disappointed though - does that mean that "all
the laziness" cool stuffs can actually be done using
iterators(generators)?
As in, but for the inconvenient syntax, you can do it all in - say java?

Yes. It would slightly easier in, say,  C# or C++.
I think 'D' achieves its implementation of the 'lazy' keyword using a similar approach.

But I did not understand why you are disappointed ?