anchor.diff:      newPromoted.clear();
   
       for (i = 0; i < node.height - 1; i++) {
  -      for (final marker in _clone(updated[i].markers[i]) as List<M>) {
  +      for (final marker in _clone(updated[i].markers[i])) {
           final startIndex = intervalsByMarker[marker].startIndex;
           if (_comparator(startIndex, updated[i + 1].index) <= 0) {
             newPromoted.add(marker);
  
positive.code:         }
        }
  
        for (final marker in _clone(promoted) as List<M>) {
          final startIndex = intervalsByMarker[marker].startIndex;
          if (_comparator(startIndex, updated[i + 1].index) <= 0) {
            _removeMarkerOnPath(marker, updated[i + 1], node, i);
  
negative.code:         }
        }
  
        for (final marker in _clone(promoted)) {
          final endIndex = intervalsByMarker[marker].endIndex;
          if (_comparator(node.next[i + 1].index, endIndex) <= 0) {
            _removeMarkerOnPath(marker, node.next[i], node.next[i + 1], i);
  