docs: def merge(self, other):
          """Merge other (dict or OrderedSet) into this environment.
  
          Only works for basic types: str, list, tuple, dict and OrderedSet.
          """
          for key, value in other.items():
              if not key in self:
                  self[key] = value
              elif isinstance(value, (list, tuple)):
                  self[key] += value
              elif isinstance(value, OrderedSet):
                  if isinstance(self[key], str):
                      self[key] = OrderedSet([self[key]])
                  elif not isinstance(self[key], OrderedSet):
                      self[key] = OrderedSet(self[key])
                  self[key] |= value
              else:
                  self[key] = value
          return self