anchor.diff:  
       let dispose(d : #IDisposable) = d.Dispose()
   
  -    let testErrorAndCancelRace computation = 
  -        for _ in 1..20 do
  +    let testErrorAndCancelRace testcaseName computation =
  +        for i in 1..20 do
               let cts = new System.Threading.CancellationTokenSource()
               use barrier = new System.Threading.ManualResetEvent(false)
               async { cts.Cancel() } 
  
positive.code: 
              Async.StartWithContinuations(
                  computation,
                  (fun _ -> failwith "success not expected"),
                  (fun _ -> incr()),
                  (fun _ -> incr()),
                  cts.Token
  
negative.code:         let disposedEvent = new System.Threading.ManualResetEvent(false)
          dispose disposedEvent
  
          testErrorAndCancelRace "RaceBetweenCancellationAndError.AwaitWaitHandle" (Async.AwaitWaitHandle disposedEvent)
  
      [<Test>]
      member this.``RaceBetweenCancellationAndError.Sleep``() =
          testErrorAndCancelRace "RaceBetweenCancellationAndError.Sleep" (Async.Sleep -5)
  
  #if EXPENSIVE
  #if NET46
  