anchor.diff:    T _state = preloadedState;
     Reducer<T> _reducer = reducer ?? _noop<T>();
     bool _isDispatching = false;
  +  bool _isDisposed = false;
   
     return Store<T>()
       ..getState = (() => _state)
  
positive.code:       _throwIfNot(action.type != null,
            'Expected the action.type to be non-null value.');
        _throwIfNot(!_isDispatching, 'Reducers may not dispatch actions.');
  
        try {
          _isDispatching = true;
  
negative.code:     }
      ..observable = (() => _notifyController.stream)
      ..teardown = () {
        _isDisposed = true;
        _listeners.clear();
        return _notifyController.close();
      };
  