export function* flattenIterableOfArrays(iterable: IterableIterator): Generator { for (const values of iterable) yield* values; } export function* filterUndefined(...values: (T | undefined)[]): Generator { for (const value of values) { if (value !== undefined) yield value; } } export function* guardUndefined(iterable: Iterable | undefined): Generator { if (iterable) yield* iterable; }