code: def __setitem__(self, key, value):
      if key not in self.fixed:
          if key in self.fallback:
              self.fallback_writes.append(key)
          return dict.__setitem__(self, key, value)
  
      fixed_value = self.fixed[key]
      dict.__setitem__(self, key, fixed_value)
      # if both are dicts do a recursive update
      if isinstance(fixed_value, DogmaticDict) and isinstance(
          value, dict
      ):
          for k, val in value.items():
              fixed_value[k] = val
  
      self._log_blocked_setitem(key, value, fixed_value)
  
imports: import copy
  import sacred.optional
  from sacred.utils import join_paths, SacredError
label_desc: Use image node_id 5 for calling the DogmaticDict obj's underlying member method code with example usage: obj.__setitem__(key, value) and returns: dict