docs: def _imm_trans_delattr(self, name):
      '''
      A transient immutable's delattr allows the object's value-caches to be invalidated; a var that
      is deleted returns to its default-value in a transient immutable, otherwise raises an exception.
      '''
      (params, values) = (_imm_param_data(self), _imm_value_data(self))
      if name in params:
          dflt = params[name][0]
          if dflt is None:
              raise TypeError(
                  'Attempt to reset required parameter \'%s\' of immutable' % name)
          setattr(self, name, dflt[0])
      elif 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('Cannot delete non-value non-param attribute \'%s\' from immutable' % name)