anchor.diff:          if isNotEps
           then
               for e in outEdgesInnerGraph.[startV.vNum] do
  -                addNonZeroReduction newVertex newVertex.State e.Tag edge startV
  +                addNonZeroReduction newVertex e.Tag edge startV
   
       let edgesToTerms = new Dictionary<_,_>()
       let push (currentGraphV:VInfo<_>) gssVertex state =
  
positive.code:         for (v, e) in copyPR do
              let passingReductions = v.PassingReductions
              for prod, remainLength, path, nonTerm, pos, startV in passingReductions do
                  let newPath = path.AddEdge(nodes.[e.Ast])
                  walk (remainLength - 1) e.Dest newPath startV nonTerm pos prod true
              graphV.passingReductions.Remove((v, e)) |> ignore
  
  
negative.code:                 isNew <- true
                  listToAddUnprocessedGssV.Add v
                  for e in outEdgesInnerGraph.[currentGraphV.vNum] do
                      addZeroReduction v e.Tag currentGraphV false
          v, isNew
  
      let addEdge (startV:VInfo<_>) isNew (newVertex:Vertex) edge isNotEps =
  