anchor.diff:    /**
      * Associates with this
      *
  +   * - an "outer" [Zone], which is the one that created this.
  +   * - an "inner" [Zone], which is a child of the outer [Zone].
  +   *
      * Defaults [onError] to forward errors to the outer [Zone].
  -   * Defaults [onTurnDone] to a no-op.
  +   * Defaults [onTurnStart] and [onTurnDone] to no-op functions.
      */
     VmTurnZone() {
       _outerZone = async.Zone.current;
  
positive.code:    * Called with any errors from the inner zone.
     */
    ZoneOnError onError;
  
    /// Prevent silently ignoring uncaught exceptions by forwarding such exceptions to the outer zone.
    void _defaultOnError(dynamic e, dynamic s, LongStackTrace ls) =>
        _outerZone.handleUncaughtError(e, s);
  
  
negative.code: part of angular.core_internal;
  
  /**
   * Handles a [VmTurnZone] onTurnDone event.
   */
  typedef void ZoneOnTurnDone();
  
  /**
   * Handles a [VmTurnZone] onTurnDone event.
   */
  typedef void ZoneOnTurnStart();
  
  /**
   * Handles a [VmTurnZone] onError event.
   */
  typedef void ZoneOnError(dynamic error, dynamic stacktrace,
                           LongStackTrace longStacktrace);
  