anchor.diff:                  | _ when Object.Equals(syncCtxt, currentSyncCtxt) && thread.Equals(Thread.CurrentThread) ->
                       executeImmediately ()
                   | _ -> 
  -                    trampolineHolder.PostOrQueue syncCtxt action
  +                    trampolineHolder.PostOrQueueWithTrampoline syncCtxt action
   
               member __.ContinueWithPostOrQueue res =
  -                trampolineHolder.PostOrQueue syncCtxt (fun () -> ctxt.cont res)
  +                trampolineHolder.PostOrQueueWithTrampoline syncCtxt (fun () -> ctxt.cont res)
   
           /// A utility type to provide a synchronization point between an asynchronous computation 
           /// and callers waiting on the result of that computation.
  
positive.code: 
              member __.ContinueImmediate res = 
                  let action () = ctxt.cont res
                  let inline executeImmediately () = trampolineHolder.Execute action
                  let currentSyncCtxt = SynchronizationContext.Current 
                  match syncCtxt, currentSyncCtxt with
                  | null, null -> 
  
negative.code:                         if (remaining = 0) then 
                              innerCTS.Dispose()
                              match (!firstExn) with 
                              | None -> trampolineHolder.ExecuteWithTrampoline (fun () -> ctxtWithSync.cont results)
                              | Some (Choice1Of2 exn) -> trampolineHolder.ExecuteWithTrampoline (fun () -> aux.econt exn)
                              | Some (Choice2Of2 cexn) -> trampolineHolder.ExecuteWithTrampoline (fun () -> aux.ccont cexn)
                          else
                              FakeUnit
  
  