anchor.diff:          graph.ContainsEdge (source, target)
   
       //
  -    let dominators (graph : VertexLabeledSparseDigraph<'Vertex>) : Map<'Vertex, Set<'Vertex>> =
  +    let dominators (graph : VertexLabeledSparseDigraph<'Vertex>) =
           // Find the root vertex.
           let root =
               let roots =
  
positive.code: 
      //
      let ofAugmentedGrammar (grammar : AugmentedGrammar<'Nonterminal, 'Terminal>) =
          // Compute the parser state position graphs of the LR(0) parser states of the augmented grammar.
          let positionGraphs = positionGraphs grammar
  
          // Compute the set of non-free (forbidden or contingent) positions in the entire grammar.
          (Set.empty, positionGraphs)
  
negative.code:         let reachableFrom = Graph.reachable graph
  
          /// For each item in the graph, contains the set of items/actions it dominates.
          let dominated =
              match Graph.dominators graph with
              | Choice1Of2 x -> x
              | Choice2Of2 errorMsg ->
                  exn ("This item contains a conflict (S/R or R/R). \
                        Free positions can not be computed until all conflicts are resolved.",
                        exn errorMsg)
                  |> raise
  
          // Positions are not free if they can derive themselves
          // (i.e., if they have a self-loop in the graph).
  