anchor.diff:              refreshSets()
               step -1 pos (new Queue<_>(setU)) table
       
  -    let getResult () =                
  +    let getResult () =           
           sppfNodes |> Seq.iter (fun node -> match node with   // lol
                                              | :? AST as ast -> ast.pos <- -1
                                              | _ -> ())
  
positive.code:         for edge in currentVertex.Edges do
              let left, right = pointers.[snd edge |> int], pointers.[int pointer]            
              let ptr = getPointer (left @ right) setW
              addContext (new Context(returnState, fst edge, ptr)) queue 
      
      let push state label currentVertex pointer queue =
          nextSetW.Add pointer |> ignore
          let vertexNum = setP.Keys |> Seq.tryFind (fun i -> verticies.[int i].Label = label)        
          match vertexNum with
          | Some i ->
  
negative.code:         setU.Clear()
          setU.UnionWith nextSetU
          setW.Clear()
          for v in nextSetW do setW.Add (v.Key, v.Value)
          nextSetU.Clear()
          nextSetW.Clear()
          setP.Clear()
  