Iterable<TRes> mapMany<TRes>( Iterable<TRes>? Function(T item) selector) sync* { for (var item in this) { final res = selector(item); if (res != null) yield* res; } }