anchor.diff:                              }
   
                           let partitions = sources |> Seq.toArray |> Partitions.ofArray workerCount
  -                        let! results = partitions |> Array.map (fun cfiles -> createTask cfiles collectorf) |> Cloud.Parallel
  +                        let! results = 
  +                            partitions 
  +                            |> Array.mapi (fun i cfiles -> (createTask cfiles collectorf, workers.[i % workers.Length])) 
  +                            |> Cloud.Parallel
                           return! combiner results
                   } }
   
  
positive.code:                         let partitions = Partitions.ofLongRange workerCount fileSize
                          let! results = 
                              partitions 
                              |> Array.map (fun (s, e) -> createTask s e collectorf) 
                              |> Cloud.Parallel
                          return! combiner results 
                      else
  
negative.code:                             partitions
                              |> Partitions.ofArray workerCount
                              |> Seq.filter (not << Array.isEmpty)
                              |> Seq.mapi (fun i partitions -> (computePartitions partitions, workers.[i % workers.Length]))
                              |> Cloud.Parallel
  
                          return! combiner results
  