anchor.diff:  type VInfo<'TokenType> (vNum, statesCount) =
       member val vNum = vNum with get
       //member val curLevelCount = ref 0 with get, set
  -    member val reductions = new ResizeArray<_>(10) with get
  +    member val reductions = new ResizeArray<_>(10) with get, set
       //member val gssVertices = new ResizeArray<Vertex>() with get
       member val processedGssVertices = new ResizeArray<Vertex>() with get
       member val unprocessedGssVertices = new ResizeArray<Vertex>() with get
  
positive.code:             currentGraphV.unprocessedGssVertices.Add v 
          v
  
      let makeReductions (currentGraphV:VInfo<_>) =
          while currentGraphV.reductions.Count > 0 do
              for vertex, prod, pos, edgeOpt in currentGraphV.reductions do
                  //printfn "r: %A %A: %A %A" vertex.Level vertex.State prod pos
                  let nonTerm = parserSource.LeftSide.[prod]
  
negative.code:                         path.[i] <- getEpsilon parserSource.Rules.[parserSource.RulesStart.[prod] + i].[0]
                      path.[pos - 1] <- edgeOpt.Value.Ast
                      walk (pos - 1) (edgeOpt.Value : Edge).Dest path
              if newReductions.Count > 0 
              then 
                  currentGraphV.reductions <- newReductions 
                  makeReductions currentGraphV
      
      //let processEdge (e:QuickGraph.TaggedEdge<_,_>) =
      ///    shift        
  