anchor.diff:                  computation.Invoke ctxt)
   
           static member RunSynchronously (computation: Async<'T>,?timeout,?cancellationToken:CancellationToken) =
  -            let timeout,token =
  +            let timeout, cancellationToken =
                   match cancellationToken with
                   | None -> timeout,defaultCancellationTokenSource.Token
                   | Some token when not token.CanBeCanceled -> timeout, token
                   | Some token -> None, token
  -            AsyncPrimitives.RunSynchronously(token, computation, timeout)
  +            AsyncPrimitives.RunSynchronously cancellationToken computation timeout
   
           static member Start (computation, ?cancellationToken) =
               let cancellationToken = defaultArg cancellationToken defaultCancellationTokenSource.Token
  
positive.code:                 | AsyncResult.Canceled oce -> ctxt.aux.ccont oce)
  
          // Generate async computation which calls its continuation with the given result
          let resultA x = 
              MakeAsync (fun ctxt -> 
                  if ctxt.IsCancellationRequested then
                      ctxt.OnCancellation ()
  
negative.code:                 //       cancellation token and will register a cancelled result if cancellation occurs.
                  // Note: It is ok to use "NoDirectTimeout" here because there is no specific timeout log to this routine.
                  let! result = resultCell.AwaitResult_NoDirectCancelOrTimeout
                  return! CreateAsyncResultAsync result
              }
  
          let timeout msec cancellationToken =
  