anchor.diff:  
     _CupertinoPageTransition({
       Key key,
  +    Curve curve,
       Animation<double> animation,
       this.child
     }) : super(
       key: key,
       animation: _kTween.animate(new CurvedAnimation(
         parent: animation,
  -      curve: new _CupertinoTransitionCurve()
  +      curve: new _CupertinoTransitionCurve(curve)
       )
     ));
   
  
positive.code:   double get value => (first.value + next.value) / 2.0;
  }
  
  // Custom curve for iOS page transitions. The halfway point is when the page
  // is fully on-screen. 0.0 is fully off-screen to the right. 1.0 is off-screen
  // to the left.
  class _CupertinoTransitionCurve extends Curve {
    _CupertinoTransitionCurve();
  
    @override
    double transform(double t) {
      if (t > 0.5)
        return (t - 0.5) / 3.0 + 0.5;
      return t;
    }
  }
  
negative.code:     // TODO(mpcomplete): This hack prevents the previousRoute from animating
      // when we pop(). Remove once we fix this bug:
      // https://github.com/flutter/flutter/issues/5577
      bool userGesture = Navigator.of(context).userGestureInProgress;
      if (!userGesture)
        forwardAnimation = kAlwaysDismissedAnimation;
  
      ThemeData theme = Theme.of(context);
  