anchor.diff:              if not (containsEdge v u ast)
               then
                   let newEdge = new Edge(u, ast)
  -                for pair in setP do
  -                    if Vertex.Equal v pair.Node 
  -                    then 
  -                        let y = getNodeP label ast pair.Ast
  -                        let temp : AST = unbox <| pair.Ast
  +                if setP.ContainsKey v
  +                then
  +                    let trees = setP.[v]
  +                    let handleTree ast2 =
  +                        let y = getNodeP label ast ast2
  +                        let temp : AST = unbox <| ast2
                           addContext label (getLowBits temp.extension) u y
  +                    trees |> ResizeArray.iter handleTree
  +                        
                   if v.OutEdges.first <> Unchecked.defaultof<_>
                   then
                       if v.OutEdges.other <> null
  
positive.code:         let createdFamilies = Array.init parser.rulesCount (fun _ -> new Dictionary<Int64, Microsoft.FSharp.Collections.ResizeArray<Family>>())  
  
          let terminalNodes = new BlockResizeArray<Nodes>()
          let finalExtension = packToInt64 0 inputLength
          
          let findFamily prod (nodes : Nodes) extension : Family =
              let mutable result = None
  
negative.code:         Error ("This grammar does not accept empty input.")     
      else
          let epsilon = new Nodes()
          let setR = new Queue<Context>()   
          let setP = new System.Collections.Generic.Dictionary<Vertex,ResizeArray<obj>> (new VComparer())
          let astDictionary = new System.Collections.Generic.Dictionary<uint64,obj> ()
          let setU = Array.init (inputLength + 1) (fun _ -> new ResizeArray<PreviousContexts>())  //temp проверять не был ли уже такой добавлен
              
          let currentIndex = ref 0
  
          let currentrule = parser.Startrule
          let dummy = box <| null
          let dummyGSSNode = new Vertex(!currentIndex, (pack2ToInt64 -1 -1))
          let currentLabel = ref <| pack2ToInt64 currentrule 0
          
          let currentN = ref <| null
          let currentR = ref <| null
  