Introduction
Lazy enumerators help you work with big or infinite lists without using too much memory. They only do work when needed.
When you want to process a large list but avoid loading it all at once.
When you want to create an infinite sequence like counting numbers.
When you want to chain many steps but delay the work until the result is needed.
When you want to save memory and speed by not creating intermediate arrays.