anchor.diff:  // TODO(sigmund): deprecate this API when issue 2706 is fixed.
   Function expectAsyncUntil2(Function callback, Function isDone, {String id}) {
     return new _SpreadArgsHelper(callback, 0, -1, isDone, id).invoke2;
  -}
  -
  -/**
  - * Wraps the [callback] in a new function and returns that function. The new
  - * function will be able to handle exceptions by directing them to the correct
  - * test. This is thus similar to expectAsync0. Use it to wrap any callbacks that
  - * might optionally be called but may never be called during the test.
  - * [callback] should take between 0 and 4 positional arguments (named arguments
  - * are not supported). [id] can be used to identify the callback in error
  - * messages (for example if it is called after the test case is complete).
  - */
  -Function _protectAsync(Function callback, {String id}) {
  -  return new _SpreadArgsHelper(callback, 0, -1, null, id).invoke;
   }
   
   /**
  
positive.code:     }
    }
  
    static _makeCallbackId(String id, Function callback) {
      // Try to create a reasonable id.
      if (id != null) {
        return "$id ";
  
negative.code:         this.id = _makeCallbackId(id, callback) {
      ensureInitialized();
      if (testCase == null) {
        throw new StateError("No valid test. Did you forget to run your test "
            "inside a call to test()?");
      }
  
      if (isDone != null || minExpected > 0) {
        testCase._callbackFunctionsOutstanding++;
  