anchor.diff:    assert(nameResolver != null);
     var visitor =
         new _AstToIrVisitor(nameResolver, implicitReceiver, metadata, boundType);
  -  return expression.visit(visitor, _Mode.Expression);
  +  return expression.visit<dynamic, _Mode>(visitor, _Mode.Expression);
   }
   
   List<o.Statement> convertCdStatementToIr(
  
positive.code: 
    dynamic visitPropertyWrite(compiler_ast.PropertyWrite ast, _Mode mode) {
      _visitingRoot = false;
      o.Expression receiver = ast.receiver.visit(this, _Mode.Expression);
      if (identical(receiver, IMPLICIT_RECEIVER)) {
        var varExpr = _nameResolver.getLocal(ast.name);
        if (varExpr != null) {
  
negative.code:     _visitingRoot = false;
      var parts = <List>[];
      for (var i = 0; i < ast.keys.length; i++) {
        parts.add([
          ast.keys[i],
          ast.values[i].visit<dynamic, _Mode>(this, _Mode.Expression)
        ]);
      }
      return convertToStatementIfNeeded(
          mode,
  