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