    
      Changes the graph in-place to add the edges.
 
-     - parameter from: One of the vertices to add
+     - parameter from: One of the vertices to add.
 
      - throws: `GraphError.VertexNotPresent` if either vertex is not in the
        graph.

}

// Provides a default implementation for the `neighbors` function.
extension Graph {
    func neighbors(vertex vertex1: Vertex) throws -> [Vertex] {
        var neighbors: [Vertex] = []

        for vertex2 in vertices {

 implement this protocol if the `edgeExists` function is not reflexive, i.e. if
 the edges have an associated direction.
*/
public protocol DirectedGraph: Graph { }

/**
 Description of a weighted graph.

 Weighted graphs have a weight associated with each edge.
*/
public protocol WeightedGraph: Graph {
    /**
     Computes the weight associated with the given edge.

