code: def peek(self, default=_marker):
          
          if not hasattr(self, '_peek'):
              try:
                  self._peek = next(self._it)
              except StopIteration:
                  if default is _marker:
                      raise
                  return default
          return self._peek
docs: Return the item that will be next returned from ``next()``.
  
          Return ``default`` if there are no items left. If ``default`` is not
          provided, raise ``StopIteration``.