anchor.diff:  
     invoke([arg0 = sentinel, arg1 = sentinel, arg2 = sentinel,
             arg3 = sentinel, arg4 = sentinel]) {
  -    return guardAsync(() {
  +    return _guardAsync(() {
         if (!shouldCallBack()) {
           return;
         } else if (arg0 == sentinel) {
  
positive.code:       break;
      }
      final testCase = _tests[_currentTest];
      var f = guardAsync(testCase.run, null, _currentTest);
      if (f != null) {
        f.whenComplete(() {
          _nextTestCase(); // Schedule the next test.
  
negative.code:  *
   * The value returned by [tryBody] (if any) is returned by [guardAsync].
   */
  guardAsync(Function tryBody) {
    return _guardAsync(tryBody, null, _currentTest);
  }
  
  _guardAsync(Function tryBody, Function finallyBody, int testNum) {
    assert(testNum >= 0);
    try {
      return tryBody();
    } catch (e, trace) {
  