Module Archi__.Toposort

exception CycleFound
type order = [
| `Dependency
| `Reverse
]
val dfs : equal:('a -> 'a -> bool) -> 'b -> edges:('b -> 'a -> 'a list) -> 'a list -> 'a -> 'a list
val toposort : ?⁠order:[< `Dependency | `Reverse Dependency ] -> equal:('a -> 'a -> bool) -> edges:('a list -> 'a -> 'a list) -> 'a list -> 'a list