anchor.diff:      | Success of Tree<'TokenType>
       | Error of int * 'TokenType * string
   
  -let globalCounter = ref 0
  -
   [<AllowNullLiteral>]
   type Vertex (state : int, level : int) =
       let out = new ResizeArray<Edge>(4)
  -    let passingReductions = new ResizeArray<PassingReduction<_>>(10)
  +    let passingReductions = new ResizeArray<_>(10)
       member this.Level = level
       member this.OutEdges = out
       member this.State = state
  
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:                         let arr = parserSource.Reduces.[state].[parserSource.TokenToNumber e.Tag]
                          if arr <> null then
                              for (prod, pos) in arr do
                                  currentGraphV.AddReduction(new Reduction(newVertex, prod, pos, Some edge))
                  edge.Ast
              | x -> (newVertex.Edge x).Ast
          addChildren nodes.[ast] (Microsoft.FSharp.Collections.Array.copy path) prod
  