Each edge in the collection.
Iterable<Edge<E>> get edges { return roots.expand((vertex) { return successors(vertex).map((target) => Edge(vertex, target)); }); }