docs: def _reverse(self):
          """Reverse all bits in-place."""
          # Reverse the contents of each byte
          n = [BYTE_REVERSAL_DICT[b] for b in self._datastore.rawbytes]
          # Then reverse the order of the bytes
          n.reverse()
          # The new offset is the number of bits that were unused at the end.
          newoffset = 8 - (self._offset + self.len) % 8
          if newoffset == 8:
              newoffset = 0
          self._setbytes_unsafe(bytearray().join(n), self.length, newoffset)