anchor.diff:  
         _nextTickCompleter.complete();
         _nextTickCompleter = null;
  -      _runTasks();
  +      _currentTasks.run();
   
         clock++;
         flags &= ~tickRunningFlag;
  
positive.code:             final writeGroup = wq.removeFirst();
              writeGroup._completer.complete();
              writeGroup._completer = null;
              _runTasks();
            }
            while (_currentFrame._writeGroup != null) {
              _currentFrame._writeGroup._completer.complete();
              _currentFrame._writeGroup = null;
              _runTasks();
            }
          } while (wq.isNotEmpty);
  
          while (_currentFrame._readCompleter != null) {
            _currentFrame._readCompleter.complete();
            _currentFrame._readCompleter = null;
            _runTasks();
          }
        } while (wq.isNotEmpty || (_currentFrame._writeGroup != null));
  
        if (_currentFrame._afterCompleter != null) {
          _currentFrame._afterCompleter.complete();
          _currentFrame._afterCompleter = null;
          _runTasks();
        }
  
        clock++;
  
negative.code:       flags |= frameRunningFlag;
  
        _onNextFrameController.add(null);
        _currentTasks.run();
        if (_onNextFrameController.hasListener) {
          _requestAnimationFrame();
        }
  