anchor.diff:          elif not <| Set.contains target vertices then
               invalidArg "target" "The vertex is not in the graph's vertex-set."
   
  -        LabeledSparseDigraph (
  +        VertexLabeledSparseDigraph (
               vertices,
  -            Map.remove (source, target) edges)
  -
  -/// Functions on LabeledSparseDigraphs.
  +            Set.remove (source, target) edges)
  +
  +/// Functions on VertexLabeledSparseDigraphs.
   [<RequireQualifiedAccess; CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  -module private LabeledSparseDigraph =
  +module private VertexLabeledSparseDigraph =
       /// The empty graph.
       [<GeneralizableValue>]
  -    let empty<'Vertex, 'Edge when 'Vertex : comparison> =
  -        LabeledSparseDigraph<'Vertex,'Edge>.Empty
  +    let empty<'Vertex when 'Vertex : comparison> =
  +        VertexLabeledSparseDigraph<'Vertex>.Empty
   
       /// Determines if the graph is empty -- i.e., if it's vertex set is empty.
  -    let inline isEmpty (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline isEmpty (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.IsEmpty
   
       //
  -    let inline addVertex (vertex : 'Vertex) (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline addVertex (vertex : 'Vertex) (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.AddVertex vertex
   
       //
  -    let inline addEdge source target edge (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  -        graph.AddEdge (source, target, edge)
  -
  -    //
  -    let inline removeVertex (vertex : 'Vertex) (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline addEdge source target (graph : VertexLabeledSparseDigraph<'Vertex>) =
  +        graph.AddEdge (source, target)
  +
  +    //
  +    let inline removeVertex (vertex : 'Vertex) (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.RemoveVertex vertex
   
       //
  -    let inline removeEdge source target (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline removeEdge source target (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.RemoveEdge (source, target)
   
       //
  -    let inline containsVertex (vertex : 'Vertex) (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline containsVertex (vertex : 'Vertex) (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.ContainsVertex vertex
   
       //
  -    let inline containsEdge source target (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  +    let inline containsEdge source target (graph : VertexLabeledSparseDigraph<'Vertex>) =
           graph.ContainsEdge (source, target)
   
       //
  -    let inline getEdge source target (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  -        graph.GetEdge (source, target)
  -
  -    //
  -    let inline tryGetEdge source target (graph : LabeledSparseDigraph<'Vertex, 'Edge>) =
  -        graph.TryGetEdge (source, target)
  -
  -    //
  -    let dominators (graph : LabeledSparseDigraph<'Vertex, 'Edge>)
  +    let dominators (graph : VertexLabeledSparseDigraph<'Vertex>)
           : Map<'Vertex, Set<'Vertex>> =
           // TODO
           raise <| System.NotImplementedException "LabeledSparseDigraph.dominators"
   
       //
  -    let reachable (graph : LabeledSparseDigraph<'Vertex, 'Edge>)
  +    let reachable (graph : VertexLabeledSparseDigraph<'Vertex>)
           : Map<'Vertex, Set<'Vertex>> =
           // TODO
           raise <| System.NotImplementedException "LabeledSparseDigraph.reachable"
  
positive.code:         // Remove in- and out-edges of the vertex.
          let edges =
              edges
              |> Map.filter (fun (source, target) _ ->
                  source <> vertex
                  && target <> vertex)
  
          LabeledSparseDigraph (
              Set.remove vertex vertices,
              edges)
  
  
negative.code:         elif not <| Set.contains target vertices then
              invalidArg "target" "The vertex is not in the graph's vertex-set."
  
          Set.contains (source, target) edges
  
      //
      member __.AddVertex (vertex : 'Vertex) =
          VertexLabeledSparseDigraph (
              Set.add vertex vertices,
              edges)
  
      //
      member __.AddEdge (source : 'Vertex, target : 'Vertex) =
          // Preconditions
          if not <| Set.contains source vertices then
              invalidArg "source" "The vertex is not in the graph's vertex-set."
          elif not <| Set.contains target vertices then
              invalidArg "target" "The vertex is not in the graph's vertex-set."
  
          VertexLabeledSparseDigraph (
              vertices,
              Set.add (source, target) edges)
  
      //
      member __.RemoveVertex (vertex : 'Vertex) =
  