export function* generate(generatorFn: () => U, maxLen?: number): IterableIterator { let i = -1; while (maxLen === undefined || ++i < maxLen) { yield generatorFn(); } }