anchor.diff:    // inheritable zone functions.
     // TODO(floitsch): the types of the `_ZoneFunction`s should have a type for
     // all fields, but we can't use generic function types as type arguments.
  -  _RunNullaryZoneFunction _run;
  -  _RunUnaryZoneFunction _runUnary;
  -  _RunBinaryZoneFunction _runBinary;
  -  _RegisterNullaryZoneFunction _registerCallback;
  -  _RegisterUnaryZoneFunction _registerUnaryCallback;
  -  _RegisterBinaryZoneFunction _registerBinaryCallback;
  +  _ZoneFunction<RunHandler> _run;
  +  _ZoneFunction<RunUnaryHandler> _runUnary;
  +  _ZoneFunction<RunBinaryHandler> _runBinary;
  +  _ZoneFunction<RegisterCallbackHandler> _registerCallback;
  +  _ZoneFunction<RegisterUnaryCallbackHandler> _registerUnaryCallback;
  +  _ZoneFunction<RegisterBinaryCallbackHandler> _registerBinaryCallback;
     _ZoneFunction<ErrorCallbackHandler> _errorCallback;
     _ZoneFunction<ScheduleMicrotaskHandler> _scheduleMicrotask;
     _ZoneFunction<CreateTimerHandler> _createTimer;
  
positive.code:   final _Zone zone;
    final T function;
    const _ZoneFunction(this.zone, this.function);
  }
  
  class _RunNullaryZoneFunction {
    final _Zone zone;
    final RunHandler function;
    const _RunNullaryZoneFunction(this.zone, this.function);
  }
  
  class _RunUnaryZoneFunction {
    final _Zone zone;
    final RunUnaryHandler function;
    const _RunUnaryZoneFunction(this.zone, this.function);
  }
  
  class _RunBinaryZoneFunction {
    final _Zone zone;
    final RunBinaryHandler function;
    const _RunBinaryZoneFunction(this.zone, this.function);
  }
  
  class _RegisterNullaryZoneFunction {
    final _Zone zone;
    final RegisterCallbackHandler function;
    const _RegisterNullaryZoneFunction(this.zone, this.function);
  }
  
  class _RegisterUnaryZoneFunction {
    final _Zone zone;
    final RegisterUnaryCallbackHandler function;
    const _RegisterUnaryZoneFunction(this.zone, this.function);
  }
  
  class _RegisterBinaryZoneFunction {
    final _Zone zone;
    final RegisterBinaryCallbackHandler function;
    const _RegisterBinaryZoneFunction(this.zone, this.function);
  }
  
  /// A parameter object with custom zone function handlers for [Zone.fork].
  
negative.code: 
    // TODO(floitsch): the types of the `_ZoneFunction`s should have a type for
    // all fields.
    _ZoneFunction<RunHandler> get _run;
    _ZoneFunction<RunUnaryHandler> get _runUnary;
    _ZoneFunction<RunBinaryHandler> get _runBinary;
    _ZoneFunction<RegisterCallbackHandler> get _registerCallback;
    _ZoneFunction<RegisterUnaryCallbackHandler> get _registerUnaryCallback;
    _ZoneFunction<RegisterBinaryCallbackHandler> get _registerBinaryCallback;
    _ZoneFunction<ErrorCallbackHandler> get _errorCallback;
    _ZoneFunction<ScheduleMicrotaskHandler> get _scheduleMicrotask;
    _ZoneFunction<CreateTimerHandler> get _createTimer;
  