code: function tap(tapper) {
      return function* (it) {
          let index = 0;
          for (const value of it) {
              tapper(value, index);
              yield value;
              index = index + 1;
          }
      };
  }
docs: Yield the original sequence unmodified, calling the tapper on every item in the sequence