functor (G : U->
  sig
    val components : Components.G.t -> int * (G.V.t -> int)
    val components_array : Components.G.t -> G.V.t list array
    val components_list : Components.G.t -> G.V.t list list
  end