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