docs: def unshift(self, chunk):
          """
          Pushes a chunk of data back into the internal buffer. This is useful
          in certain situations where a stream is being consumed by code that
          needs to "un-consume" some amount of data that it has optimistically
          pulled out of the source, so that the data can be passed on to some
          other party.
          """
          if chunk:
              self._pos -= len(chunk)
              self._unconsumed.append(chunk)