http://csharpindepth.com/Articles/Chapter11/StreamingAndIter...
I had used it to make a state machine but didn't know its relation to IEnumerable. The article was enlightening to a C# latecomer like me.