Given a directed graph, modeled as a list of edges from source to destination Uses Kahn's algorithm to either: return the topological sort of the graph or detect if there's any cycle
(
edges: &Vec<(Node, Node)>,
)
source not stored for this graph (policy: none)