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