anchor.diff:      static member private CallBack( state: Object ) (timeout:bool) = 
           if not timeout then
               try
  -                let infoFunc,handle,continuation,unblockHandle,jobObject = state :?> ((unit->string)*WaitHandle*(unit->unit)*ManualResetEvent*Object)
  +                let infoFunc,handle,continuation,unblockHandle,jobObject = state :?> ((unit->string)*WaitHandle*(unit->unit)*EventWaitHandle*Object)
                   continuation() 
                   if Utils.IsNotNull unblockHandle  then 
                       // If there is an unblock handle, set it. 
  
positive.code:     member val TaskList = ConcurrentDictionary<_,ConcurrentQueue<_>>() with get, set
      member val TaskStatus = ConcurrentDictionary<_,_>() with get, set
      member val HandleDoneExecution = new ManualResetEvent( true ) with get
      member val HandleWaitForMoreJob = new ManualResetEvent( true ) with get
      member val HandleBlockOnJob = null with get, set
      member val CompletedTasks =  ConcurrentDictionary<_,_>() with get, set
      member val TaskTracking = ConcurrentDictionary<_,int>() with get, set
  
negative.code:         else
              token.Register( fun _ -> ThreadPoolWait.TryWakeup handle |> ignore ) |> ignore 
              ThreadPoolWait.WaitForHandle infoFunc handle continuation unblockHandle
      static member WaitForHandle (infoFunc: unit-> string) (handle:WaitHandle) (continuation:unit->unit) (unblockHandle:EventWaitHandle) =
          if handle.WaitOne(0) then 
              continuation() 
              if Utils.IsNotNull unblockHandle then 
  