functor (X : GRAPH_acyclic) -> sig exception Cyclic val fold : 'a -> (X.node -> X.node -> 'a -> 'a) -> X.graph -> 'a end