anchor.diff:  [<AllowNullLiteral>]
   type Vertex (state : int, level : int) =
       let out = new ResizeArray<Edge>(4)
  +    let passingReductions = new ResizeArray<_>(10)
       member this.Level = level
       member this.OutEdges = out
       member this.State = state
  +    member this.PassingReductions = passingReductions
  +
       member this.addEdge (edge : Edge) =
           let mutable i = out.Count - 1
           out.Add edge
  
positive.code:     member this.Dest = destination
      member this.Ast = ast
  
  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, 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
      //member val curEdge = ref Unchecked.defaultof<QuickGraph.TaggedEdge<VInfo<'TokenType>,'TokenType>>
      //member val curTokNum = ref 0
      //member val curToken = ref Unchecked.defaultof<'TokenType>
      //member val pushes = new ResizeArray<_>()
  
  let buildAstAbstract<'TokenType> (parserSource : ParserSource<'TokenType>) (tokens : ParserInputGraph<'TokenType>) =
      let statesCount = parserSource.Gotos.Length
  
negative.code:                     then
                          verticesToProcess.Enqueue (e.Target, false)
                      else
  //                        if e.Target.reductions.Count > 0
  //                        then
                              handlePassingReductions curV
                              //verticesToProcess.Enqueue (e.Target, true)
  
              //globalCurV := curV
  