anchor.diff:    }
   
     ZoneSpecification get _zoneSpec => new ZoneSpecification(
  -          createTimer: (_, parent, zone, Duration duration, Function callback) {
  -        return _createTimer(parent, zone, duration, callback, false);
  -      }, createPeriodicTimer:
  -              (_, parent, zone, Duration duration, Function callback) {
  -        return _createTimer(parent, zone, duration, callback, true);
  -      }, scheduleMicrotask: (_, parent, zone, Function microtask) {
  -        if (_useParentZone) {
  -          parent.scheduleMicrotask(microtask);
  -        } else {
  -          _microtasks.add(microtask);
  -        }
  -      });
  +      createTimer: (_, parent, zone, duration, callback) =>
  +          _createTimer(parent, zone, duration, callback, false),
  +      createPeriodicTimer: (_, parent, zone, duration, callback) =>
  +          _createTimer(parent, zone, duration, callback, true),
  +      scheduleMicrotask: (_, parent, zone, microtask) => _useParentZone
  +          ? parent.scheduleMicrotask(microtask)
  +          : _microtasks.add(microtask));
   
     _runTimersUntil(Duration elapsingTo) {
       var next;
  
positive.code:       } else {
          _zone.parent.createTimer(t.nextCall - _elapsed, t.callback);
        }
      });
      _timers.clear();
    }
  
    _hasTimer(timer) => _timers.contains(timer);
  
negative.code: 
    void fastForward(Duration offset) {
      if (_useParentZone) {
        throw new StateError("Cannot fast forward if switched to parent zone.");
      }
      if (offset.inMicroseconds < 0) {
        throw new ArgumentError('Cannot fast forward with negative duration');
  