anchor.diff:  
   part of dart.async;
   
  -/// A count-down timer that can be configured to fire once or repeatedly.
  +/// A countdown timer that can be configured to fire once or repeatedly.
   ///
   /// The timer counts down from the specified duration to 0.
   /// When the timer reaches 0, the timer invokes the specified callback function.
  
positive.code: /// following example (taking advantage of the multiplication operator of
  /// the [Duration] class):
  /// ```dart
  /// const timeout = Duration(seconds: 3);
  /// const ms = Duration(milliseconds: 1);
  ///
  /// Timer startTimeout([int? milliseconds]) {
  ///   var duration = milliseconds == null ? timeout : ms * milliseconds;
  ///   return Timer(duration, handleTimeout);
  /// }
  /// ...
  /// void handleTimeout() {  // callback function
  ///   ...
  /// }
  /// ```
  /// Note: If Dart code using [Timer] is compiled to JavaScript, the finest
  /// granularity available in the browser is 4 milliseconds.
  ///
  /// See [Stopwatch] for measuring elapsed time.
  abstract class Timer {
    /// Creates a new timer.
    ///
    /// The [callback] function is invoked after the given [duration].
    ///
    factory Timer(Duration duration, void Function() callback) {
      if (Zone.current == Zone.root) {
        // No need to bind the callback. We know that the root's timer will
  
negative.code:   /// Once a [Timer] has been canceled, the callback function will not be called
    /// by the timer. Calling [cancel] more than once on a [Timer] is allowed, and
    /// will have no further effect.
    ///
    /// Example:
    /// ```dart
    /// final timer =
    ///     Timer(const Duration(seconds: 5), () => print('Timer finished'));
    /// // Cancel timer, callback never called.
    /// timer.cancel();
    /// ```
    void cancel();
  
    /// The number of durations preceding the most recent timer event.
  