anchor.diff:    /// The [Navigator] popped the given route.
     void didPop(Route<dynamic> route, Route<dynamic> previousRoute) { }
   
  -  /// The [Navigator] is being controlled by a user gesture. Used for the
  -  /// iOS back gesture.
  +  /// The [Navigator] is being controlled by a user gesture.
  +  ///
  +  /// Used for the iOS back gesture.
     void didStartUserGesture() { }
   
     /// User gesture is no longer controlling the [Navigator].
  
positive.code:     return _history.length > 1 || _history[0].willHandlePopInternally;
    }
  
    NavigationGestureController startPopGesture() {
      if (canPop())
        return _history.last.startPopGesture(this);
      return null;
    }
  
    // TODO(mpcomplete): remove this bool when we fix
    // https://github.com/flutter/flutter/issues/5577
    bool _userGestureInProgress = false;
    bool get userGestureInProgress => _userGestureInProgress;
  
    void didStartUserGesture() {
      _userGestureInProgress = true;
      config.observer?.didStartUserGesture();
    }
  
    void didStopUserGesture() {
      _userGestureInProgress = false;
      config.observer?.didStopUserGesture();
  
negative.code:       ..pushNamed(routeName);
    }
  
    /// The state from the closest instance of this class that encloses the given context.
    static NavigatorState of(BuildContext context) {
      NavigatorState navigator = context.ancestorStateOfType(const TypeMatcher<NavigatorState>());
      assert(() {
  