anchor.diff:                              then currentN := getNodeT !currentIndex
                               else currentR := getNodeT !currentIndex
                               currentIndex := !currentIndex + 1
  -                            currentLabel := packToInt64 (rule) ((position) + 1)
  +                            currentLabel := pack2ToInt64 (rule) ((position) + 1)
                               if !currentR <> null
                               then currentN := getNodeP !currentLabel !currentN !currentR
                               condition := false
                           else 
                               let index = getIndex(curSymbol, curToken)
  -                            currentGSSNode := create (packToInt64 (rule) (position + 1)) !currentGSSNode !currentIndex !currentN
  +                            currentGSSNode := create (pack2ToInt64 (rule) (position + 1)) !currentGSSNode !currentIndex !currentN
                               if Array.length table.[index] <> 0 
                               then
                                   let a rule = 
  -                                    let newLabel = packToInt64 rule 0
  +                                    let newLabel = pack2ToInt64 rule 0
                                       addContext newLabel !currentIndex !currentGSSNode dummy    
                                   table.[index] |> Array.iter a
                       else condition := true
  
positive.code:                     | :? IntermidiateNode as i -> i.Extension
                      | _ -> failwith "Unexpected type."
  
                  result <- new IntermidiateNode(left, right, label, packToInt64 (getHighBits lExt) (getLowBits rExt))
              else 
                  result <- new IntermidiateNode(left, right, label, packToInt64 (getHighBits rExt) (getLowBits rExt))
              box <| result
                  
              
  
negative.code:             let mutable result = (terminalNodes.Item index).fst
              if result = null
              then
                  result <- box <| new Nodes(box <| tokens.[index], null, null, pack2ToInt64 index (index + 1))
                  terminalNodes.Set !currentIndex (unbox <| result)
              else result <- box <| terminalNodes.Item index
              result
  