docs: def read_record(self, dtype, shape=1, byteorder=None):
          """Return numpy record from file."""
          rec = numpy.rec
          try:
              record = rec.fromfile(self._fh, dtype, shape, byteorder=byteorder)
          except Exception:
              dtype = numpy.dtype(dtype)
              if shape is None:
                  shape = self._size // dtype.itemsize
              size = product(sequence(shape)) * dtype.itemsize
              data = self._fh.read(size)
              record = rec.fromstring(data, dtype, shape, byteorder=byteorder)
          return record[0] if shape == 1 else record