Sequences (nuget): Sequences is a port of Scala's Stream[+A] to C#.  A Sequence<T> is an immutable lazy list whose elements are only evaluated when they are needed. A sequence is composed by a head (the first element) and a lazily-evaluated tail (the remaining elements).  The fact that the tail is lazily-evaluated, makes it easy to represent infinite series or sets.   See the project's page for examples: https://github.com/dcastro/Sequences
Keywords: enumerable|sequence|collection|immutable|data-structures|scala|lazy|stream