anchor.diff:              | -1 -> 
                   let edge = new Edge(final, nodes.Count)
                   nodes.Add <| new AST (Unchecked.defaultof<_>, null)
  -                if not isNew
  +                if not isNew && newVertex.PassingReductions.Count > 0
                   then startV.passingReductions.Add((newVertex, edge))
                   newVertex.addEdge edge
                   if (pos > 0)
                   then
  -                    for e in innerGraph.OutEdges startV do
  +                    for e in outEdgesInnerGraph.[startV.vNum] do
                           let arr = parserSource.Reduces.[state].[parserSource.TokenToNumber e.Tag]
                           if arr <> null then
                               for (prod, pos) in arr do
  
positive.code:     let verticesToProcess = new Queue<_>()
      verticesToProcess.Enqueue (startV)
      let mutable errorIndex = -1
      let verticesSeenBefore = new Dictionary<_,_>()
      for v in innerGraph.Vertices do
          verticesSeenBefore.Add(v, false)
      
      let customEnqueue (elem : VInfo<_>) = 
          verticesToProcess.Enqueue(elem)
  
      let edgesToTerms = new Dictionary<_,_>()
      let push currentGraphV gssVertex state =
          let reductions = new ResizeArray<_>(10)
          let newUnprocessedGssVs = new ResizeArray<_>(2)
          for e in innerGraph.OutEdges currentGraphV do
          //printfn "v(%d,%d)" state num
              let push = parserSource.Gotos.[state].[parserSource.TokenToNumber e.Tag]
              if push <> 0 
  
negative.code:             v.unprocessedGssVertices.AddRange(newGssVs)
              customEnqueue v
  
          if verticesSeenBefore.[v.vNum] && v.passingReductions.Count > 0
          then
              handlePassingReductions v
  
          for e in (*innerGraph.OutEdges(v)*)outEdgesInnerGraph.[v.vNum] do
              if e.Target.reductions.Count > 0 || e.Target.unprocessedGssVertices.Count > 0 || e.Target.passingReductions.Count > 0
              then
                  customEnqueue e.Target
  
      if tokens.EdgeCount = 0
      then
  