Module Graph

A poor person's directed graph and some graph traversal implementations

exception IllegalGraphOperation

The exception raised when an illegal edge is added

module type OrderedType = sig ... end

The vertices should be have some ordering

module type S = sig ... end

The Graph methods that this module supports.

module Make (Ord : OrderedType) : S with type vertex = Ord.t

Makes a graph module given an ordred type.