anchor.diff:                              idF := match v.Tag.OutSymb with
                                       | Smbl x -> x
                                       | x -> failwith "Unexpected symbol in function calculation:%A" x 
  -                            curStt.Positions.Add(new Position<_>(curStt.start_offset, curStt.cur_offset, curStt.curBr)) 
  +                            if !saved = false then curStt.Positions.Add(new Position<_>(curStt.start_offset, curStt.cur_offset, curStt.curBr)) 
                               let tok = actions.[!idF] curStt
  -                            //save := false
                               edges.Add(new ParserEdge<_>(curStt.StartV, curStt.EndV, tok)) 
                               printfn 
                                   "startV %i string %s" 
  
positive.code:                                 | x -> failwith "Unexpected symbol in function calculation:%A" x 
                          curStt.Positions.Add(new Position<_>(curStt.start_offset, curStt.cur_offset, curStt.curBr))
                          let tok = actions.[!idF] curStt                        
                          //save := false 
                          edges.Add(new ParserEdge<_>(curStt.StartV, curStt.EndV, tok))
                          printfn 
                              "startV %i string %s" 
  
negative.code:                             match v.Tag.InSymb with
                              | Smbl (x,br) -> 
                                  if curStt.curBr = null || br = curStt.curBr
                                  then curStt.start_offset, curStt.cur_offset + 1, br
                                  else   
                                      if not !saved
                                      then
                                          saved := true
  