anchor.diff:        }
         receiver = _getImplicitOrStaticReceiver(ast.name, isStaticSetter);
       }
  -    return convertToStatementIfNeeded(mode,
  -        receiver.prop(ast.name).set(ast.value.visit(this, _Mode.Expression)));
  +    return convertToStatementIfNeeded(
  +        mode,
  +        receiver
  +            .prop(ast.name)
  +            .set(ast.value.visit<dynamic, _Mode>(this, _Mode.Expression)));
     }
   
     dynamic visitSafePropertyRead(compiler_ast.SafePropertyRead ast, _Mode mode) {
       _visitingRoot = false;
  -    var receiver = ast.receiver.visit(this, _Mode.Expression);
  +    var receiver = ast.receiver.visit<dynamic, _Mode>(this, _Mode.Expression);
       return convertToStatementIfNeeded(mode,
           receiver.isBlank().conditional(o.NULL_EXPR, receiver.prop(ast.name)));
     }
   
     dynamic visitSafeMethodCall(compiler_ast.SafeMethodCall ast, _Mode mode) {
       _visitingRoot = false;
  -    var receiver = ast.receiver.visit(this, _Mode.Expression);
  +    var receiver = ast.receiver.visit<dynamic, _Mode>(this, _Mode.Expression);
       var args = visitAll(ast.args, _Mode.Expression);
       return convertToStatementIfNeeded(
           mode,
  
positive.code:         mode,
          ast.obj
              .visit(this, _Mode.Expression)
              .key(ast.key.visit(this, _Mode.Expression)));
    }
  
    dynamic visitKeyedWrite(compiler_ast.KeyedWrite ast, _Mode mode) {
      _visitingRoot = false;
      o.Expression obj = ast.obj.visit(this, _Mode.Expression);
      o.Expression key = ast.key.visit(this, _Mode.Expression);
      o.Expression value = ast.value.visit(this, _Mode.Expression);
      return convertToStatementIfNeeded(mode, obj.key(key).set(value));
    }
  
  
negative.code:     _visitingRoot = false;
      var args = visitAll(ast.args, _Mode.Expression) as List<o.Expression>;
      o.Expression result;
      o.Expression receiver =
          ast.receiver.visit<dynamic, _Mode>(this, _Mode.Expression);
      if (identical(receiver, IMPLICIT_RECEIVER)) {
        var varExpr = _nameResolver.getLocal(ast.name);
        if (varExpr != null) {
  