Module Pa_ppx_utils.Tsort
val uniquize : ?compare:('a -> 'a -> int) -> 'a list -> 'a list
type !'a list_adj_t = ('a * 'a list) list
val invert_adj :
?compare:('a -> 'a -> int) ->
'a list ->
'a list_adj_t ->
('a * 'a list) list
val canon : 'a list -> 'a list
val tsort :
?compare:('b -> 'b -> int) ->
?invertadj:bool ->
('a -> 'c -> 'c) ->
'a list_adj_t ->
'c ->
'c
val collapse_cycles :
'a list_adj_t ->
('a * 'a list) list * ('a * 'a list) list
val tsort_cyclic :
?compare:('a -> 'a -> int) ->
?invertadj:bool ->
'a list_adj_t ->
'a list list