anchor.diff:          let packedNodesX = Array.zeroCreate<int> (inputLength + 1)
           let packedNodesY = Array.zeroCreate<int> (inputLength + 1)
           let packedNodesZ = Array.zeroCreate<int> (inputLength + 1)
  -        let packedNodes = new Dictionary<int, Dictionary<int, Dictionary<int, Dictionary<int<labelMeasure>, int<nodeMeasure>>>>>()
  +        let packedNodes = Array.zeroCreate<Dictionary<int, Dictionary<int, Dictionary<int<labelMeasure>, int<nodeMeasure>>>>> (inputLength + 1)
   
           let nonTerminalNodesReadCount = ref 0
  -        let nonTerminalNodesWriteCount = ref 0
  +        let nonTerminalNodesWriteCount = ref 0 
           let nonterminalNodesX = Array.zeroCreate parser.NonTermCount
           let nonterminalNodesY = Array.zeroCreate (inputLength + 1)
  -        let nonterminalNodesZ = Array.zeroCreate (inputLength + 1)
  -        let nonTerminalNodes = Array.zeroCreate<Dictionary<int64<extension>, int<nodeMeasure>>> parser.NonTermCount
  +        let nonterminalNodesZ = Array.zeroCreate (inputLength + 1)        
  +        let nonTerminalNodes = Array.zeroCreate<Dictionary<int, Dictionary<int, int<nodeMeasure>>>> parser.NonTermCount
  +        //let nonTerminalNodes = Array3D.zeroCreate<int<nodeMeasure>> parser.NonTermCount (inputLength + 1) (inputLength + 1)
   
   
           let intermidiateNodesReadCount = ref 0
  
positive.code:                     let newList = new ResizeArray<int<nodeMeasure>>()
                      newList.Add(z)
                      setP.Add(vertexKey, newList)
                  let outEdges = edges.[packVertex slots.[ int u.Label] u.Level]
                  edgesReadCount := !edgesReadCount + 1
                  for edge in outEdges do
                      let sppfNodeOnEdge = edge.Key
  
negative.code:                 newDict2.Add(e.Label, newArr)
                  newDict1.Add(ast, newDict2)
                  edgesWriteCount := !edgesWriteCount + 1
                  edges.[labelN, b.Level] <- newDict1
                  false                    
          
          let getTreeExtension (node : int<nodeMeasure>) =
  