anchor.diff:      let ofCloudFiles (reader : System.IO.Stream -> Async<'T>) (sources : seq<CloudFile>) : CloudStream<'T> =
           { new CloudStream<'T> with
               member self.DegreeOfParallelism = None
  -            member self.Apply<'S, 'R> (collectorf : Local<Collector<'T, 'S>>) (projection : 'S -> Local<'R>) (combiner : 'R -> 'R -> 'R) =
  +            member self.Apply<'S, 'R> (collectorf : Local<Collector<'T, 'S>>) (projection : 'S -> Local<'R>) (combiner : 'R [] -> Local<'R>) =
                   cloud { 
                       if Seq.isEmpty sources then 
                           let! collector = collectorf
  
positive.code:                             !resultRef }
              }
          cloud {
              return! stream.Apply collectorf (fun v -> local { return v }) (fun left right -> match left with Some _ -> left | None -> right)
          }
  
      /// <summary>Returns the first element for which the given function returns true. Raises KeyNotFoundException if no such element exists.</summary>
  
negative.code:                             let! worker = Cloud.CurrentWorker
                              do! source.UpdateCacheState(worker, partitions)
  
                          return! combiner results
                      }
  
                      if Array.isEmpty partitions then 
  