functor (G : G-> sig val scc : Components.G.t -> G.V.t -> int end