anchor.diff:              .conditional(o.NULL_EXPR, receiver.callMethod(ast.name, args)));
     }
   
  -  dynamic visitStaticRead(compiler_ast.StaticRead ast, dynamic context) {
  -    _visitingRoot = false;
  -    _Mode mode = context;
  +  dynamic visitStaticRead(compiler_ast.StaticRead ast, _Mode mode) {
  +    _visitingRoot = false;
       return convertToStatementIfNeeded(
           mode, o.importExpr(ast.id.identifier, isConst: true));
     }
   
  -  dynamic visitAll(List<compiler_ast.AST> asts, dynamic context) {
  -    _Mode mode = context;
  +  dynamic visitAll(List<compiler_ast.AST> asts, _Mode mode) {
       return asts.map((ast) => ast.visit(this, mode)).toList();
     }
   }
  
positive.code:   }
  }
  
  class _AstToIrVisitor implements compiler_ast.AstVisitor {
    final NameResolver _nameResolver;
    final o.Expression _implicitReceiver;
    final bool _preserveWhitespace;
  
negative.code:   }
  }
  
  dynamic /* o.Expression | o.Statement */ convertToStatementIfNeeded(
      _Mode mode, o.Expression expr) {
    if (identical(mode, _Mode.Statement)) {
      return expr.toStmt();
  