anchor.diff:      /// <returns>The final result.</returns>
       let inline fold (folder : 'State -> 'T -> 'State) (combiner : 'State -> 'State -> 'State) 
                       (state : unit -> 'State) (stream : CloudStream<'T>) : Cloud<'State> =
  -        let collectorf () =  
  +        let collectorf = cloud {  
               let results = new List<'State ref>()
  -            { new Collector<'T, 'State> with
  +            return
  +              { new Collector<'T, 'State> with
                   member self.Iterator() = 
                       let accRef = ref <| state ()
                       results.Add(accRef)
  
positive.code:                                      |> Seq.groupBy (fun keyValue -> Math.Abs(keyValue.Key.GetHashCode()) % totalWorkers)
                                       |> Seq.map (fun (key, keyValues) -> (key, keyValues |> Seq.map (fun keyValue -> (keyValue.Key, !keyValue.Value))))
                      partitions }
          // Phase 1
          let shuffling = 
              cloud {
  
negative.code:                             else
                                  let! results2 = restPartitions 
                                                  |> Set.toArray 
                                                  |> Array.map (fun pid -> cloud { let! r = createTask pid collectorf in return pid,r }) 
                                                  |> Cloud.Parallel
                                  let final = Seq.append results1 results2
                                              |> Seq.sortBy (fun (p,_) -> p)
  