IterSource<T>: T extends Iterable<infer U> ? U : T extends Iterator<infer U> ? U : T extends IterableIterator<infer U> ? U : T extends AsyncIterable<infer U> ? U : T extends AsyncIterator<infer U> ? U : T extends AsyncIterableIterator<infer U> ? U : T
Returns the source of the generic Iterable, Iterator, IterableIterator or their async counterparts.