anchor.diff:          let addContext (inputVertex : int) (label : int<labelMeasure>) vertex extension =
               if not <| containsContext inputVertex label vertex extension 
               then
  -                setR.Enqueue(new Context2(inputVertex, label, vertex, extension))
  +                setR.Push(new Context2(inputVertex, label, vertex, extension))
                   incr descriptorNumber
               else
                 incr reused
  
positive.code:         let condNonTermRules = Seq.toArray <| seq{for i in 0..parser.LeftSide.Length - 1 do if parser.LeftSide.[i] = condNonTerm then yield i}
          let setU = new CompressedArray<SysDict<int, SysDict<int64, ResizeArray<int64<extension>>>>>(input.ChainLength, (fun _ -> null ),shift) 
          let setP = new SysDict<int64, Yard.Generators.Common.DataStructures.ResizableUsualOne<int64<extension>>>(500)
          let setR = new System.Collections.Generic.Queue<Context2>(100)  
          let currentRule = parser.StartRule
          let currentLabel = ref <| (CommonFuns.packLabelNew currentRule 0) * 1<labelMeasure>
          let tempCount = ref 0
  
negative.code:         let stop = ref false
          let rec dispatcher () =
              let rec get () =
                  let c = setR.Pop()
                  c
              if setR.Count <> 0
              then
  