anchor.diff:    // Handle use-sites of constants (and "inline" constant expressions):
   
     visitSymbolLiteral(SymbolLiteral node) {
  -    return new ConstantExpression(constantEvaluator.evaluate(node));
  +    return makeConstantExpression(constantEvaluator.evaluate(node));
     }
   
     visitStaticGet(StaticGet node) {
  
positive.code: 
    tryEvaluateAndTransformWithContext(TreeNode treeContext, Expression node) {
      final Constant constant = tryEvaluateWithContext(treeContext, node);
      return constant != null ? new ConstantExpression(constant) : node;
    }
  
    tryEvaluateWithContext(TreeNode treeContext, Expression node) {
  
negative.code:     if (target is Field && target.isConst) {
        final Constant constant =
            tryEvaluateWithContext(node, target.initializer);
        return constant != null ? makeConstantExpression(constant) : node;
      } else if (target is Procedure && target.kind == ProcedureKind.Method) {
        return tryEvaluateAndTransformWithContext(node, node);
      }
  