anchor.diff:          Body(fun ctx cont ->
               if ctx.IsCancellationRequested then cont.Cancel ctx else
               let cont' = {
  -                Exception = cont.Exception
  -                Cancellation = cont.Cancellation
                   Success = 
  -                    fun ctx t -> 
  -                        if Trampoline.IsBindThresholdReached() then
  +                    fun ctx t ->
  +                        if ctx.IsCancellationRequested then cont.Cancel ctx
  +                        elif Trampoline.IsBindThresholdReached() then
                               Trampoline.QueueWorkItem(fun () -> cont.Choice(ctx, protect g t))
                           else
                               cont.Choice(ctx, protect g t)
  +
  +                Exception = 
  +                    fun ctx e -> 
  +                        if ctx.IsCancellationRequested then cont.Cancel ctx
  +                        elif Trampoline.IsBindThresholdReached() then
  +                            Trampoline.QueueWorkItem(fun () -> cont.Exception ctx e)
  +                        else
  +                            cont.Exception ctx e
  +
  +                Cancellation = cont.Cancellation
               }
   
               if Trampoline.IsBindThresholdReached() then 
  
positive.code:             if ctx.IsCancellationRequested then cont.Cancel ctx else
  
              let cont' = {
                  Success = fun ctx t -> finalizer ctx <| Continuation.map (fun () -> t) cont
                  Exception = fun ctx e -> finalizer ctx <| Continuation.failwith (fun () -> e) cont
                  Cancellation = cont.Cancellation
              }
  
              f ctx cont'
          )
  
      let inline combine (f : Cloud<unit>) (g : Cloud<'T>) : Cloud<'T> = bind f (fun () -> g)
  
negative.code:         Body(fun ctx cont ->
              if ctx.IsCancellationRequested then cont.Cancel ctx else
              let cont' = {
                  Success = 
                      fun ctx t -> 
                          if ctx.IsCancellationRequested then cont.Cancel ctx
                          elif Trampoline.IsBindThresholdReached() then
                              Trampoline.QueueWorkItem(fun () -> cont.Success ctx t)
                          else
                              cont.Success ctx t
                  
                  Exception = 
                      fun ctx e ->
                          if ctx.IsCancellationRequested then cont.Cancel ctx
                          elif Trampoline.IsBindThresholdReached() then
                              Trampoline.QueueWorkItem(fun () -> cont.Choice(ctx, protect handler e))
                          else
                              cont.Choice(ctx, protect handler e)
  
                  Cancellation = cont.Cancellation
              }
  
              if Trampoline.IsBindThresholdReached() then 
  