anchor.diff:                          return! (ofArray result).Apply collectorf combiner
                       }  }
   
  -    let inline countBy (projection : 'T -> 'Key) (stream : CloudStream<'T>) : CloudStream<'Key * int> =
  +    let countBy (projection : 'T -> 'Key) (stream : CloudStream<'T>) : CloudStream<'Key * int> =
           foldBy projection (fun state _ -> state + 1) (+) (fun () -> 0) stream
   
       let inline sum (stream : CloudStream< ^T >) : Cloud< ^T > 
  
positive.code: 
  
      // intermediate functions
      let inline map (f : 'T -> 'R) (stream : CloudStream<'T>) : CloudStream<'R> =
          { new CloudStream<'R> with
              member self.Apply<'S> (collectorf : unit -> Collector<'R, 'S>) combiner =
                  let collector = collectorf ()
  
negative.code: 
  
      // terminal functions
      let fold (folder : 'State -> 'T -> 'State) (combiner : 'State -> 'State -> 'State) 
                      (state : unit -> 'State) (stream : CloudStream<'T>) : Cloud<'State> =
              let collectorf () =  
                  let results = new List<'State ref>()
  