anchor.diff:    List<dart.Code> visitBreakExpression(BreakExpression node) => [
           if (node.expression != null) ...[
             ...node.expression.accept(this),
  -          _refer(node.scopeId).assign(_refer(node.expression.id)).statement,
  +          _refer(node.scopeId).safeAssign(node.expression).statement,
           ],
           dart.Code('break ${_label(node.scopeId)};'),
           _save(node, dart.literalNull),
  
positive.code:         const dart.Code('~/'),
          other.code,
        ]));
  }
  
  extension on dart.Method {
  
negative.code: 
    @override
    List<dart.Code> visitWhileExpression(WhileExpression node) => [
          dart.literalNull
              .assignVar(_name(node.id), compileType(context, node.type))
              .statement,
          dart.Code('${_label(node.id)}:\nwhile (true) {'),
          ...node.condition.accept(this),
          dart.Code('if (!${_name(node.condition.id)}) break;'),
  