anchor.diff:      });
     };
   
  -  visitSymbolLiteral(ast.SymbolLiteral node) => (f, s) {
  +  visitSymbolLiteral(ast.SymbolLiteral node) => (s) {
       return s(node);
     };
   
     // ---- TypedLiterals ----
  -  visitListLiteral(ast.ListLiteral node) => (f, s) {
  -    _translateExpressionList(node.elements)(f, (elts) {
  +  visitListLiteral(ast.ListLiteral node) => (s) {
  +    _translateExpressionList(node.elements, (elts) {
         s(AstFactory.listLiteral(elts));
       });
     };
   
  -  visitMapLiteral(ast.MapLiteral node) => (f, s) {
  +  visitMapLiteral(ast.MapLiteral node) => (s) {
       var list = new ast.NodeList<ast.Expression>(node);
       for (var entry in node.entries) {
         list.add(entry.key);
         list.add(entry.value);
       }
  -    _translateExpressionList(list)(f, (exprs) {
  +    _translateExpressionList(list, (exprs) {
         var entries = <ast.MapLiteralEntry>[];
         for (var i = 0; i < exprs.length; i += 2) {
           entries.add(new ast.MapLiteralEntry(
  
positive.code:      return cont();
     }
  
    _translateForDeclarations(List<ast.VariableDeclaration> decls, f, s) {
      var exprs = [];
      var seenAwait = false;
      var cont = (e) {
  
negative.code: 
        breakTargets = breakTargets.map(newJumpTarget).toList();
        continueTargets = continueTargets.map(newJumpTarget).toList();
        var ret = r;
        r = (v) {
          addStatement(
              AstFactory.returnStatement2(
  