code: def execute_deferred_effects(self, pos):
          
          costs = 0
          to_delete = []
          for entry in self.__dict__['deferred_effects']:
              effect_pos, effect = entry
              if pos.startswith(effect_pos):
                  costs += effect(self)
                  to_delete.append(entry)
          # we delete afterwards, because Python cannot delete from a list that
          # is being iterated over without screwing up the iteration.
          for entry in to_delete:
              self.__dict__['deferred_effects'].remove(entry)
          return costs
docs: Evaluates deferred effects that are triggered by the prefix of the
          pos on the current beliefstate. For instance, if the effect is triggered
          by the 'NN' pos, then the effect will be triggered by 'NN' or 'NNS'.