sig
  type t
  val name : string
  val compare : t -> t -> int
  val pair : t -> t -> t
  val of_string : string -> t
  val to_string : t -> string
  val print : ?oc:out_channel -> t -> unit
  val print_ : ?oc:out_channel -> t -> unit
  type node
  type label
  val origin : t -> Edges.EDGE_TYPE.node
  val terminus : t -> Edges.EDGE_TYPE.node
  val label : t -> Edges.EDGE_TYPE.label
  val make :
    Edges.EDGE_TYPE.node ->
    Edges.EDGE_TYPE.node -> Edges.EDGE_TYPE.label -> t
  val label_compare : Edges.EDGE_TYPE.label -> Edges.EDGE_TYPE.label -> int
  val to_dotstring : t -> string
end