anchor.diff:                          for pair3 in pair2.Value do 
                               let holder = pair3.Value
                               if timeout || holder.CanDispose() then 
  +                                Logger.LogF( LogLevel.MildVerbose, fun _ -> sprintf "Unregister distributed function %A, %A, %A, %A"
  +                                                                                    pair0.Key pair1.Key pair2.Key pair3.Key
  +                                                )
                                   x.Unregister( pair0.Key, pair1.Key, pair2.Key, pair3.Key )
                               else
                                   bAllDisposed <- false 
  
positive.code:         DistributedFunctionStore.Current.Unregister( publicID, domainID, schemaIn, schemaOut )        
      /// Clean Up 
      member internal x.CleanUp(timeOut:int) = 
          for pair0 in x.ExportedCollections do 
              for pair1 in pair0.Value do 
                  for pair2 in pair1.Value do 
                      for pair3 in pair2.Value do 
                          let holder = pair3.Value
                          holder.Cancel() 
          let mutable bAllDisposed = false 
          let ticksStart = DateTime.UtcNow.Ticks
  
negative.code:         x.Cancel()
          if capacityControl && x.CanDispose() then 
              // Dispose CancellationTokenSource and lock
              if Interlocked.CompareExchange( ctsStatus, 2, 1 ) = 1 then 
                  // The only case that we will transition cts to dispose is that: 
                  // 1) It hasn't been disposed before, and 
                  // 2) The current thread succeed in the Exchange, and execute the dispose operation 
                  Logger.LogF ( LogLevel.MildVerbose, fun _ -> sprintf "%A is disposed" x)
                  cts.Dispose() 
          else
              // When not in capacity control, there is no lock. 
              // However, we may not be able to dispose CancellationTokenSource as there may still be job executing, and need to 
  