anchor.diff:      member __.IsCancellationRequested = let t = getLocalToken() in t.IsCancellationRequested
       /// Cancel cancellation token
       member __.Cancel() =
  -        if (let t = getLocalToken() in t.IsCancellationRequested) then ()
  +        if __.IsCancellationRequested then ()
           else
               lock state (fun () ->
                   match state with
                   | Canceled _ -> ()
                   | Localized _ -> localCancellationTokenSource.Cancel()
  -                | Distributed id -> cancelTokenEntity source id |> Async.RunSync)
  +                | Distributed token -> token.Cancel() |> Async.RunSync)
   
       member internal __.Source = source
   
  
positive.code:     member private c.TryElevateToDistributed() =
          match state with
          | Canceled -> None
          | Distributed rk -> Some rk
          | Localized _ ->
              lock state (fun () ->
                  match state with
                  | Canceled -> None
                  | Distributed id -> Some id
                  | Localized None ->
                      match tryCreateToken source None |> Async.RunSync with
                      | None -> state <- Canceled ; None
                      | Some id -> state <- Distributed id ; localToken <- None ; Some id
  
                  | Localized (Some parent) ->
                      // elevate parent to distributed source
                      match parent.TryElevateToDistributed() with
                      | None -> state <- Canceled ; None // parent canceled ; declare canceled
                      | Some parentId ->
                          // create token entity using for current cts
                          match tryCreateToken source (Some parentId) |> Async.RunSync with
                          | None -> state <- Canceled ; None
                          | Some id -> state <- Distributed id ; localToken <- None ; Some id)
  
  
negative.code:                         match state with
                          | Canceled -> new CancellationToken(canceled = true)
                          | Localized _ -> localCancellationTokenSource.Token
                          | Distributed token -> manager.GetLocalCancellationToken(token) |> Async.RunSync
  
                      localToken <- Some ct
                      ct)
  