anchor.diff:      let workers =
           // start maximal 7 requests at the same time.
           [ 0 .. 7 ]
  -        |> Seq.map (fun _ -> ResolverRequestQueue.startProcessing cts.Token workerQueue)
  +        |> List.map (fun _ -> ResolverRequestQueue.startProcessing cts.Token workerQueue)
   
       let getAndReport blockReason (workHandle:WorkHandle<_>) =
           if workHandle.Task.IsCompleted then
  
positive.code:         else
              workHandle.Reprioritize WorkPriority.BlockingWork
              use d = Profile.startCategory (Profile.Category.ResolverAlgorithmBlocked blockReason)
              let result = workHandle.Task.Result
              d.Dispose()
              result
  
negative.code:     let addWork prio (f: unit -> System.Threading.Tasks.Task<'a>) ({ DynamicQueue = queue } as q) =
          let tcs = new TaskCompletionSource<_>()
          let work =
              { StartWork = (fun () ->
                  let t =
                      try
                          f()
                      with e -> 
                          //Task.FromException (e)
                          let tcs = new TaskCompletionSource<_>()
                          tcs.SetException e
                          tcs.Task
                  
                  t.ContinueWith(fun (t:System.Threading.Tasks.Task<'a>) -> 
                      if t.IsCanceled then
                          tcs.SetException(new TaskCanceledException(t))
                      elif t.IsFaulted then
  