Module type Topological_sort__.Topological_sort_intf.Topological_sort

module type Node = Node
module Edge : sig ... end
val sort : ?⁠verbose:Topological_sort__.Import.bool ‑> (module Node with type t = 'node) ‑> 'node Topological_sort__.Import.list ‑> 'node Edge.t Topological_sort__.Import.list ‑> 'node Topological_sort__.Import.list Topological_sort__.Import.Or_error.t

sort (module Node) nodes edges returns a list of nodes output satisfying:

sort returns Error if there is a cycle.