function* genCombine(ia: Iterator, ib: Iterator) {
while (true) {
const result = ia.next();
if (result.done) {
break;
}
yield result.value;
}
while (true) {
const result = ib.next();
if (result.done) {
break;
}
yield result.value;
}
}
export const append_ = (fa: Iterable, fb: Iterable): Iterable => ({
[Symbol.iterator]: () => genCombine(fa[Symbol.iterator](), fb[Symbol.iterator]())
});