docs: def pread_chunk(self, position, chunk):
          r"""
          Works like :meth:`pread`\ , but data is stored in the writable
          buffer ``chunk`` rather than returned. Reads at most a number of
          bytes equal to the size of ``chunk``\ .
  
          :type position: int
          :param position: position from which to read
          :type chunk: buffer
          :param chunk: a writable object that supports the buffer protocol
          :rtype: int
          :return: the number of bytes read
          """
          _complain_ifclosed(self.closed)
          if position > self.size:
              raise IOError("position cannot be past EOF")
          return self.f.raw.pread_chunk(position, chunk)