invariant_iterable library

Provide an extension type IIterable as a replacement for the built-in class Iterable as a type, with better type safety.

Extensions

IIterableExtension on Iterable<T>
Extension methods used with regular Iterable objects in order to concisely obtain an expression of type IIterable, and in order to validate the invariance.

Typedefs

IIterable<E> = _IIterable<E, _Inv<E>>
A replacement for the built-in class Iterable that offers improved type safety because it is invariant in its type parameter.