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