anchor.diff:          let cts = new CancellationTokenSource()
           let collector = 
               { new Collector<'T, 'R option> with
  +                member self.DegreeOfParallelism = stream.DegreeOfParallelism
                   member self.Iterator() = 
                       {   Index = ref -1; 
                           Func = (fun value -> match chooser value with Some value' -> resultRef := Some value'; cts.Cancel() | None -> ());
  
positive.code:                                     ());
                          Cts = new CancellationTokenSource()  }
                  member self.Result = 
                      dict |> ofSeq |> map (fun keyValue -> (keyValue.Key, !keyValue.Value)) |> withDegreeOfParallelism !stream.DegreeOfParallelism }
  
          let stream = if stream.PreserveOrdering then stream.Stream() |> Stream.toSeq |> ofSeq |> withDegreeOfParallelism !stream.DegreeOfParallelism else stream
          stream.Apply collector
          
          
  
negative.code:         let results = new List<'State ref>()
          let collector = 
              { new Collector<'T, 'State> with
                  member self.DegreeOfParallelism = stream.DegreeOfParallelism
                  member self.Iterator() = 
                      let accRef = ref <| state ()
                      results.Add(accRef)
  