function unshift(...next) {
    return function* (it) {
        for (let i = 0; i < next.length; ++i)
            yield next[next.length - i - 1];
        yield* it;
    };
}
function unshift(...next) {
    return function* (it) {
        for (let i = 0; i < next.length; ++i)
            yield next[next.length - i - 1];
        yield* it;
    };
}
function unshift ( ... next ) { return function * ( it ) { for ( let i = 0 ; i < next . length ; ++ i ) yield next [ next . length - i - 1 ] ; yield * it ; } ; }
Prepend an item to the beginning of an iterable
Prepend an item to the beginning of an iterable