anchor.diff:  
   
       // terminal functions
  -    let inline fold (folder : 'State -> 'T -> 'State) (combiner : 'State -> 'State -> 'State) 
  +    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>()
  
positive.code:             and  ^T : (static member Zero : ^T) = 
          fold (+) (+) (fun () -> LanguagePrimitives.GenericZero) stream
  
      let inline length (stream : CloudStream<'T>) : Cloud<int> =
          fold (fun acc _  -> 1 + acc) (+) (fun () -> 0) stream
  
      let inline toArray (stream : CloudStream<'T>) : Cloud<'T[]> =
          cloud {
              let! arrayCollector = 
                  fold (fun (acc : ArrayCollector<'T>) value -> acc.Add(value); acc)
  
negative.code: 
  
      // intermediate functions
      let 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 ()
  