code: def peek(self):
          
          try:
              v = next(self._iter)
              self._iter = itertools.chain((v,), self._iter)
              return v
          except StopIteration:
              return PeekableIterator.Nothing
docs: Returns PeekableIterator.Nothing when the iterator is exhausted.