anchor.diff:                              match curEdge with
                               | Some edge ->
                                   currentIndex := (packEdgePos curEdge.Value 0)
  -                                currentIndex := packEdgePos (getEdge !currentIndex) (1 + getPosOnEdge !currentIndex)
  -                                currentExtension := packExtension (getLeftExtension !currentExtension) !currentIndex
  -                                currentLabel := 1<labelMeasure> * packLabelNew rule (position + 1)
  -                                condition := false
  +                                eatTerm 
                               | None _ -> ()
                       else 
                           let getIndex nTerm term = 
  
positive.code:             if setR.Count <> 0
              then
                  currentContext :=  get ()
                  
                  currentIndex := currentContext.Value.Index
                  
                  currentGSSNode := currentContext.Value.Vertex
                  currentLabel := currentContext.Value.Label
                  currentExtension := currentContext.Value.Extension
  
negative.code:                     for slotLevels in edge.Value do
                           let slot = slotLevels.Key
                           for level in slotLevels.Value do
                              let ext = packExtension (getLeftExtension extOnEdge) (getRightExtension extension)
                              let newVertex = new Vertex(level, slot)
                              addContext i (u.NontermLabel*1<labelMeasure>) newVertex ext
  