sig
  module type G =
    sig
      type t
      module V : Sig.COMPARABLE
      val fold_vertex : (V.t -> '-> 'a) -> Leaderlist.G.t -> '-> 'a
      val succ : Leaderlist.G.t -> V.t -> V.t list
      val pred : Leaderlist.G.t -> V.t -> V.t list
    end
  module Make :
    functor (G : G->
      sig val leader_lists : Leaderlist.G.t -> G.V.t -> G.V.t list list end
end