functor (Node : X.X_TYPE->
  functor (Label : X.X_TYPE->
    functor (D : Delim.DELIM_TYPE->
      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 = Node.t
        type label = Label.t
        val origin : t -> node
        val terminus : t -> node
        val label : t -> label
        val make : node -> node -> label -> t
        val label_compare : label -> label -> int
        val to_dotstring : t -> string
      end