code: def with_outer_namespace(self, outer_namespace):
          
          return self.__class__(self._namespaces + [outer_namespace],
                                self.flags)
docs: Return a new EvalEnvironment with an extra namespace added.
          This namespace will be used only for variables that are not found in
          any existing namespace, i.e., it is "outside" them all.