anchor.diff:  
       let makeReductions (currentGraphV : VInfo<_>) =
           while currentGraphV.reductions.Count > 0 do
  -            let r = currentGraphV.reductions.Dequeue()
  +            let r = currentGraphV.GetReduction()
               makeSingleReduction currentGraphV r
   
   
  
positive.code:         if newGssVs.Count > 0 
          then
              v.unprocessedGssVertices.AddRange(newGssVs)
              customEnqueue v
  
          if verticesSeenBefore.[v]
          then
              for e in innerGraph.OutEdges(v) do
                  if e.Target.reductions.Count > 0 || e.Target.unprocessedGssVertices.Count > 0
                  then
                      customEnqueue e.Target
  
              let toRecalc = handlePassingReductions v
              for vToRecalc in toRecalc do customEnqueue vToRecalc
          else
              for e in innerGraph.OutEdges(v) do
                  customEnqueue e.Target
  
  
      if tokens.EdgeCount = 0
  
negative.code:     for v in innerGraph.Vertices do
          verticesSeenBefore.Add(v, false)
      
      let edgesToTerms = new Dictionary<_,_>()
      let push currentGraphV gssVertex state =
          let reductions = new ResizeArray<_>(10)
  