Returns a new lazy
Iterable with all elements that have type
The matching elements have the same order in the returned iterable as they have in iterator.
This method returns a view of the mapped elements.
Iterating will not cache results, and thus iterating multiple times over
Iterable may yield different results,
if the underlying elements change between iterations.
Iterable<T> whereType<T>() => WhereTypeIterable<T>(this);