export function* join( iterable: Iterable , separator: U ): IterableIterator { let first = true for (const element of iterable) { if (first) { first = false } else { yield separator } yield element } }