sig
  type t
  val compare : t -> t -> int
  type vertex = V.t
  val src : t -> vertex
  val dst : t -> vertex
  type label
  val create : vertex -> label -> vertex -> t
  val label : t -> label
end