anchor.diff:  
               Async.StartWithContinuations(
                   computation,
  -                (fun _ -> failwith "success not expected"),
  +                (fun _ -> failwith (sprintf "%s -- success not expected -- iteration %d" testcaseName i)),
                   (fun _ -> incr()),
                   (fun _ -> incr()),
                   cts.Token
  
positive.code: 
      let dispose(d : #IDisposable) = d.Dispose()
  
      let testErrorAndCancelRace computation = 
          for _ in 1..20 do
              let cts = new System.Threading.CancellationTokenSource()
              use barrier = new System.Threading.ManualResetEvent(false)
              async { cts.Cancel() } 
  
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
  