export function* map( iterable: Iterable , fn: (element: T, index: number) => U ): IterableIterator { let index = 0 for (const element of iterable) { yield fn(element, index) index++ } }