code: def add_thing(self, thing, location=None):
          
          if not isinstance(thing, Thing):
              thing = Agent(thing)
          assert thing not in self.things, "Don't add the same thing twice"
          thing.location = location or self.default_location(thing)
          self.things.append(thing)
          if isinstance(thing, Agent):
              thing.performance = 0
              self.agents.append(thing)
docs: Add a thing to the environment, setting its location. For
          convenience, if thing is an agent program we make a new agent
          for it. (Shouldn't need to override this.