anchor.diff:          
           static let unfake FakeUnit = ()
   
  -        // Preallocate a ctxt-switching callback delegate.
  +        // Preallocate a context-switching callback delegate.
           // This should be the only call to SynchronizationContext.Post in this library. We must always install a trampoline.        
           let sendOrPostCallback = 
               SendOrPostCallback (fun o ->
                   let f = unbox<(unit -> AsyncReturn)> o
  -                this.ExecuteWithTrampoline f |> unfake)
  +                this.Execute f |> unfake)
   
           // Preallocate a ctxt-switching callback delegate.
           // This should be the only call to QueueUserWorkItem in this library. We must always install a trampoline.
           let waitCallbackForQueueWorkItemWithTrampoline = 
               WaitCallback (fun o ->
                   let f = unbox<(unit -> AsyncReturn)> o
  -                this.ExecuteWithTrampoline f |> unfake)
  +                this.Execute f |> unfake)
   
   #if !FX_NO_PARAMETERIZED_THREAD_START
           // This should be the only call to Thread.Start in this library. We must always install a trampoline.
           let threadStartCallbackForStartThreadWithTrampoline = 
               ParameterizedThreadStart (fun o ->
                   let f = unbox<(unit -> AsyncReturn)> o
  -                this.ExecuteWithTrampoline f |> unfake)
  +                this.Execute f |> unfake)
   #endif
   
           member this.Post (syncCtxt: SynchronizationContext)  (f : unit -> AsyncReturn) =
  
positive.code:             member this.Dispose() = this.Dispose()
  
      
      // F# don't always take tailcalls to functions returning 'unit' because this
      // is represented as type 'void' in the underlying IL.
      // Hence we don't use the 'unit' return type here, and instead invent our own type.
  
negative.code:                         if (remaining = 0) then 
                              innerCTS.Dispose()
                              match (!firstExn) with 
                              | None -> trampolineHolder.Execute (fun () -> ctxtWithSync.cont results)
                              | Some (Choice1Of2 exn) -> trampolineHolder.Execute (fun () -> aux.econt exn)
                              | Some (Choice2Of2 cexn) -> trampolineHolder.Execute (fun () -> aux.ccont cexn)
                          else
                              FakeUnit
  
  