Interface for a IGraph, with objects for each vertex and edge.
Represents a sequence of vertices in a graph.
General-purpose, but can be used to represent a walk on a graph, for example.
Edge in a graph.
Vertex in a graph
When walking a graph, how should we handle disconnected nodes? i.e., those without any outgoing (directed) or undirected edges