# Functions
DependencyGraph returns a new graph, populated with the supplied objects as vetices and edges built from their dependencies.
HydrateSetList takes a list of sets of ids and a set of objects and returns a list of set of objects.
New returns a pointer to an empty Graph data structure.
ReverseSetList deep reverses of a list of object lists.
ReverseSortObjs is the same as SortObjs but using reverse ordering.
SortObjs returns a slice of the sets of objects to apply (in order).
# Structs
CyclicDependencyError represents a cycle in the graph, making topological sort impossible.
DuplicateDependencyError represents an invalid depends-on annotation with duplicate references.
Edge encapsulates a pair of vertices describing a directed edge.
ExternalDependencyError represents an invalid graph edge caused by an object that is not in the object set.
Graph is contains a directed set of edges, implemented as an adjacency list (map key is "from" vertex, slice are "to" vertices).
# Type aliases
SortableEdges sorts a list of edges alphanumerically by From and then To.