anchor.diff:    ///
     /// {@tool sample}
     ///
  -  /// Sample code implementing an implicitly animated widget's `State`.
  +  /// This sample implements an implicitly animated widget's `State`.
     /// The widget animates between colors whenever `widget.targetColor`
     /// changes.
     ///
  
positive.code:   TextStyle lerp(double t) => TextStyle.lerp(begin, end, t);
  }
  
  /// An abstract widget for building widgets that gradually change their
  /// values over a period of time.
  ///
  /// Subclasses' States must provide a way to visit the subclass's relevant
  /// fields to animate. [ImplicitlyAnimatedWidget] will then automatically
  /// interpolate and animate those fields using the provided duration and
  /// curve when those fields change.
  abstract class ImplicitlyAnimatedWidget extends StatefulWidget {
    /// Initializes fields for subclasses.
    ///
  
negative.code:     return shouldStartAnimation;
    }
  
    /// Visits each tween controlled by this state with the specified `visitor`
    /// function.
    ///
    /// ### Subclass responsibility
    ///
    /// Properties to be animated are represented by [Tween] member variables in
    /// the state. For each such tween, [forEachTween] implementations are
    /// expected to call `visitor` with the appropriate arguments and store the
    /// result back into the member variable. The arguments to `visitor` are as
    /// follows:
    ///
    /// {@macro flutter.widgets.implicit_animations.tweenVisitorArguments}
    ///
    /// ### When this method will be called
    ///
    /// [forEachTween] is initially called during [initState]. It is expected that
    /// the visitor's `tween` argument will be set to null, causing the visitor to
    /// call its `constructor` argument to construct the tween for the first time.
    /// The resulting tween will have its `begin` value set to the target value
    /// and will have its `end` value set to null. The animation will not be
    /// started.
    ///
    /// When this state's [widget] is updated (thus triggering the
    /// [didUpdateWidget] method to be called), [forEachTween] will be called
    /// again to check if the target value has changed. If the target value has
    /// changed, signaling that the [animation] should start, then the visitor
    /// will update the tween's `start` and `end` values accordingly, and the
    /// animation will be started.
    ///
    /// ### Other member variables
    ///
    /// Subclasses that contain properties based on tweens created by
    /// [forEachTween] should override [didUpdateTweens] to update those
  