anchor.diff:          graph.ContainsEdge (source, target)
   
       /// Creates a VertexLabeledSparseDigraph from a list of edges.
  -    let ofEdgeList (edgeList : ('Vertex * 'Vertex) list) =
  -        (VertexLabeledSparseDigraph.Empty, edgeList)
  -        ||> List.fold (fun graph (source, target) ->
  -            graph
  -            |> addVertex source
  -            |> addVertex target
  -            |> addEdge source target)            
  +    let inline ofEdgeList (edgeList : ('Vertex * 'Vertex) list) =
  +        VertexLabeledSparseDigraph.OfEdgeList edgeList
   
       //
       let predecessors (graph : VertexLabeledSparseDigraph<'Vertex>) =
  
positive.code:         VertexLabeledSparseDigraph (
              vertices,
              reversedEdges)
  
  
  /// Functions on VertexLabeledSparseDigraphs.
  
negative.code:             Set.add (source, target) edges)
  
      //
      member __.AddEdgeAndVertices (source : 'Vertex, target : 'Vertex) =
          // Preconditions
          // (None)
  
          let vertices =
              vertices
              |> Set.add source
              |> Set.add target
  
          VertexLabeledSparseDigraph (
              vertices,
              Set.add (source, target) edges)
  
      //
      member __.RemoveVertex (vertex : 'Vertex) =
          // Preconditions
          if not <| Set.contains vertex vertices then
  