anchor.diff:      for v in innerGraph.Vertices do
           verticesSeenBefore.Add(v, false)
       
  -    let customEnqueue (elem : VInfo<_>) = 
  -        if not <| verticesToProcess.Any(fun x -> x.vNum = elem.vNum)
  -            then verticesToProcess.Enqueue(elem)
  -
       let edgesToTerms = new Dictionary<_,_>()
       let push currentGraphV gssVertex state =
           let reductions = new ResizeArray<_>(10)
  
positive.code: 
              let arr = parserSource.ZeroReduces.[state].[parserSource.TokenToNumber e.Tag]
              if arr <> null then
                  customEnqueue currentGraphV
                  for prod in arr do
                      reductions.Add(new Reduction(gssVertex, prod, 0, None), currentGraphV)
          
  
negative.code:         if newGssVs.Count > 0 
          then
              v.unprocessedGssVertices.AddRange(newGssVs)
              verticesToProcess.Enqueue(v)
  
          if verticesSeenBefore.[v]
          then
              for e in innerGraph.OutEdges(v) do
                  if e.Target.reductions.Count > 0 || e.Target.unprocessedGssVertices.Count > 0
                  then
                      verticesToProcess.Enqueue (e.Target)
  
              let toRecalc = handlePassingReductions v
              for vToRecalc in toRecalc do verticesToProcess.Enqueue (vToRecalc)
          else
              for e in innerGraph.OutEdges(v) do
                  verticesToProcess.Enqueue (e.Target)
  
  
      if tokens.EdgeCount = 0
  