anchor.diff:  
     ast.Block currentBlock;
     List<ast.Expression> breakTargets;
  -  List<ast.Expression> breakLabels;
  +  List<String> breakLabels;
   
     List<ast.Expression> continueTargets;
  -  List<ast.Expression> continueLabels;
   
     visit(ast.AstNode node) => node.accept(this);
   
  
positive.code: 
      var bodyBlock = currentBlock = emptyBlock();
      breakTargets.add(identifier(breakName));
      breakLabels.add(breakName);
      continueTargets.add(identifier(continueName));
      visit(node.body)(f, r, () {
        addStatement(
  
negative.code:         AstFactory.functionDeclarationStatement(null, null, continueName,
              functionExpression([newName('x')], continueBlock)));
      breakTargets.add(identifier(breakName));
      breakLabels.add(null);
      continueTargets.add(identifier(continueName));
      visit(node.body)(f, r, () {
        addStatement(
  