anchor.diff:  
       VariableDeclaration list = new VariableDeclaration.forValue(
           new ListLiteral([], typeArgument: node.typeArgument),
  -        type: new InterfaceType(coreTypes.listClass, [node.typeArgument]));
  +        type: new InterfaceType(coreTypes.listClass, [node.typeArgument]),
  +        isFinal: true);
       List<Statement> body = [list];
       for (int j = 0; j < i; ++j) {
         body.add(new ExpressionStatement(new MethodInvocation(
  
positive.code: class CollectionTransformer extends Transformer {
    final CoreTypes coreTypes;
    final Procedure listAdd;
    final Procedure listAddAll;
  
    CollectionTransformer(SourceLoader loader)
        : coreTypes = loader.coreTypes,
          listAdd = loader.coreTypes.index.getMember('dart:core', 'List', 'add'),
          listAddAll =
              loader.coreTypes.index.getMember('dart:core', 'List', 'addAll');
  
    @override
    TreeNode visitListLiteral(ListLiteral node) {
  
negative.code:         BlockExpression,
          Expression,
          ExpressionStatement,
          ForInStatement,
          InterfaceType,
          InvalidExpression,
          ListLiteral,
  