docs: def _single_store(self, addr, offset, size, data):
          """
          Performs a single store.
          """
  
          if offset == 0 and size == self.width:
              self._contents[addr] = data
          elif offset == 0:
              cur = self._single_load(addr, size, self.width - size)
              self._contents[addr] = data.concat(cur)
          elif offset + size == self.width:
              cur = self._single_load(addr, 0, offset)
              self._contents[addr] = cur.concat(data)
          else:
              cur = self._single_load(addr, 0, self.width)
              start = cur.get_bytes(0, offset)
              end = cur.get_bytes(offset+size, self.width-offset-size)
              self._contents[addr] = start.concat(data, end)