code: def evaluate(self, env):
          
          out = []
          for part in self.parts:
              if isinstance(part, str):
                  out.append(part)
              else:
                  out.append(part.evaluate(env))
          return u''.join(map(str, out))
docs: Evaluate the entire expression in the environment, returning
          a Unicode string.