anchor.diff:  let printSmbString (x:char*Position<_>) = 
           (fst x).ToString() + "_br: " + (snd x).back_ref + "(" + (snd x).start_offset.ToString() + "," + (snd x).end_offset.ToString() + ")"
   
  -type TokenEdge<'br when 'br:comparison>(s,e,t)=
  +type TokenEdge<'br(* when 'br:comparison*)>(s,e,t)=
       inherit TaggedEdge<int, char*Position<'br>>(s,e,t)
           
       member this.BackRef = (snd t).back_ref
  
positive.code:     member this.EndPos = (snd t).end_offset
      member this.Label = fst t
  
  type GraphTokenValue<'br when 'br:comparison>() =
      inherit AdjacencyGraph<int,TokenEdge<'br>>()
  
      member this.AddEdgeForsed (e:TokenEdge<_>) =
  
negative.code:         this.AddEdge e |> ignore
  
  [<Struct>]
  type GraphAction<'br(* when 'br:comparison*)> =
      val startAct: int
      val endActs: HashSet<int>
      val graph: GraphTokenValue<'br>
  