anchor.diff:    Value get value;
   }
   
  -class PositionalArgumentValue extends InterpreterValue {
  +class PositionalValue extends InterpreterValue {
     final Value value;
   
  -  PositionalArgumentValue(this.value);
  -}
  -
  -class NamedArgumentValue extends InterpreterValue {
  +  PositionalValue(this.value);
  +}
  +
  +class NamedValue extends InterpreterValue {
     final String name;
     final Value value;
   
  -  NamedArgumentValue(this.name, this.value);
  +  NamedValue(this.name, this.value);
   }
   
   class LocalInitializerValue extends InterpreterValue {
  
positive.code: 
    Configuration visitStringConcatenation(
        StringConcatenation node, ExpressionConfiguration config) {
      var cont = new StringConcatenationContinuation(
          node.expressions, config.environment, config.continuation);
      return new ExpressionConfiguration(
          node.expressions.first, config.environment, cont);
    }
  
    // Evaluation of BasicLiterals.
  
negative.code:   InterpreterValue assignValue(Value v);
  }
  
  class PositionalExpression extends InterpreterExpression {
    final Expression expression;
  
    PositionalExpression(this.expression);
  
    InterpreterValue assignValue(Value v) => new PositionalValue(v);
  }
  
  class NamedExpression extends InterpreterExpression {
    final String name;
    final Expression expression;
  
    NamedExpression(this.name, this.expression);
    InterpreterValue assignValue(Value v) => new NamedValue(name, v);
  }
  
  class LocalInitializerExpression extends InterpreterExpression {
  