docs: def select_with_index(self, selector):
          '''Transforms each element of a sequence into a new form, incorporating
          the index of the element.
  
          Each element is transformed through a selector function which accepts
          the element value and its zero-based index in the source sequence. The
          generated sequence is lazily evaluated.
  
          Args:
              selector: A two argument function mapping the index of a value in
                  the source sequence and the element value itself to the
                  corresponding value in the generated sequence. The two
                  arguments of the selector function (which can have any names)
                  and its return value are,
  
                  Args:
                      index: The zero-based index of the element
                      element: The value of the element
  
                  Returns:
                      The selected value derived from the index and element
  
          Returns:
              A generated sequence whose elements are the result of invoking the
              selector function on each element of the source sequence
          '''
  
          return self._create(self._pool.imap_unordered(star,
                                      zip(itertools.repeat(selector),
                                        enumerate(iter(self))), self._chunksize))