sig type 'a set = 'a Set_list.set val topological_sort : depends:('a -> 'b Topological_sort.set) -> defines:('a -> 'b Topological_sort.set) -> 'a list -> 'a list end