anchor.diff:  
     final void Function(void Function() onDone) vsync;
   
  -  bool _disposed = false;
  -  bool _scheduledTask = false;
     final _stateToDispose = <AutoDisposeProviderElementBase>[];
     final _stateToRefresh = <ProviderElementBase>[];
   
  
positive.code:   }
  
    void _scheduleTask() {
      assert(!_disposed, 'tried to emit updates with a disposed Scheduler');
      if (_scheduledTask) return;
  
      _scheduledTask = true;
      assert(_pendingTaskCompleter == null, 'bad state');
      _pendingTaskCompleter = Completer<void>();
      vsync(_task);
    }
  
    void _task() {
      _pendingTaskCompleter!.complete();
      if (_disposed) return;
      _performRefresh();
      _performDispose();
  
      _scheduledTask = false;
      _stateToRefresh.clear();
      _stateToDispose.clear();
      _pendingTaskCompleter = null;
  
negative.code:   }
  
    void dispose() {
      _pendingTaskCompleter?.complete();
      _pendingTaskCompleter = null;
    }
  }
  