code: def reset(self):
          
          [a().remove_observer(self, self.on_cache_changed) if (a() is not None) else None for [a, _] in self.cached_input_ids.values()]
  
          self.order = collections.deque()
          self.cached_inputs = {}  # point from cache_ids to a list of [ind_ids], which where used in cache cache_id
  
          #=======================================================================
          # point from each ind_id to [ref(obj), cache_ids]
          # 0: a weak reference to the object itself
          # 1: the cache_ids in which this ind_id is used (len will be how many times we have seen this ind_id)
          self.cached_input_ids = {}
          #=======================================================================
  
          self.cached_outputs = {}  # point from cache_ids to outputs
          self.inputs_changed = {}
docs: Totally reset the cache