docs: def _imm_delattr(self, name):
      '''
      A persistent immutable's delattr allows the object's value-caches to be invalidated, otherwise
      raises an exception.
      '''
      if _imm_is_persist(self):
          values = _imm_value_data(self)
          if name in values:
              dd = object.__getattribute__(self, '__dict__')
              if name in dd:
                  del dd[name]
                  if name in _imm_const_data(self): _imm_check(imm, [name])
          else:
              raise TypeError('Attempt to reset parameter \'%s\' of non-transient immutable' % name)
      else:
          return _imm_trans_delattr(self, name)