anchor.diff:      js.Statement body = currentContainer;
       currentContainer = oldContainerStack.removeLast();
       body = unwrapStatement(body);
  -    js.While loop = new js.While(new js.LiteralBool(true), body);
  +    js.While loop = new js.While(newLiteralBool(true), body);
   
       HLoopInformation info = block.loopInformation;
       attachLocationRange(loop,
  
positive.code:     js.Statement body = unwrapStatement(currentContainer);
      currentContainer = oldContainerStack.removeLast();
  
      js.Statement result = new js.While(new js.LiteralBool(true), body);
      attachLocationRange(result,
                          info.loopBlockInformation.sourcePosition,
                          info.loopBlockInformation.endSourcePosition);
  
negative.code: 
      if (input is HBoolify && isGenerateAtUseSite(input)) {
        use(input.inputs[0]);
        push(new js.Binary("!==", pop(), newLiteralBool(true)), input);
      } else if (canGenerateOptimizedComparison(input) &&
                 isGenerateAtUseSite(input)) {
        Map<String, String> inverseOperator = const <String, String>{
  