anchor.diff:                          member self.DegreeOfParallelism = collector.DegreeOfParallelism
                           member self.Iterator() = 
                               let { Func = iter } as iterator = collector.Iterator()
  -                            {   Index = iterator.Index; 
  -                                Func = (fun value -> iter (f value));
  +                            {   Func = (fun value -> iter (f value));
                                   Cts = iterator.Cts }
                           member self.Result = collector.Result }
                   stream.Apply collector }
  
positive.code:                         Task.Factory.StartNew(fun () ->
                                                  let mutable i = s
                                                  while i < e && !nextRef do
                                                      iter.Index := i
                                                      iter.Func source.[i]
                                                      i <- i + 1 
                                                  ())
  
negative.code:                         member self.DegreeOfParallelism = collector.DegreeOfParallelism
                          member self.Iterator() = 
                              let { Func = iter } as iterator = collector.Iterator()
                              {   Func = (fun value -> match chooser value with Some value' -> iter value' | None -> ());
                                  Cts = iterator.Cts }
                          member self.Result = collector.Result }
                  stream.Apply collector }
  