anchor.diff:        // If there are continues in the body, we need a named continue
         // continuation as a join point.
         continueContinuation = new ir.Continuation(updateBuilder._parameters);
  -      if (bodyBuilder.isOpen) continueCollector.addJump(bodyBuilder);
  +      if (innerBodyBuilder.isOpen) continueCollector.addJump(innerBodyBuilder);
         invokeFullJoin(continueContinuation, continueCollector);
       }
       ir.Continuation loopContinuation =
  
positive.code:     // is instead placed just outside the body of the body continuation.
      bool hasContinues = !continueCollector.isEmpty;
      IrBuilder updateBuilder = hasContinues
          ? condBuilder.makeRecursiveBuilder()
          : bodyBuilder;
      updateBuilder._enterForLoopUpdate(closureScope, loopVariables);
      buildUpdate(updateBuilder);
  
  
negative.code:     state.breakCollectors.add(breakCollector);
      state.continueCollectors.add(continueCollector);
  
      IrBuilder outerBodyBuilder = condBuilder.makeDelimitedBuilder();
      outerBodyBuilder._enterForLoopBody(closureScope, loopVariables);
  
      IrBuilder innerBodyBuilder = outerBodyBuilder.makeDelimitedBuilder();
  
      buildBody(innerBodyBuilder);
      assert(state.breakCollectors.last == breakCollector);
      assert(state.continueCollectors.last == continueCollector);
      state.breakCollectors.removeLast();
  