module type VERTEX : sig ... endmodule type EDGE : sig ... endmodule type WEIGHT : sig ... endmodule type NETWORK : sig ... endmodule type MAKE : functor (Vertex : VERTEX) -> functor (Edge : EDGE) -> NETWORK with module Topology.Vertex = Vertex and module Topology.Edge = Edgemodule Node : sig ... endmodule Link : sig ... endmodule Net : NETWORK with type Topology.Vertex.t = Node.t and type Topology.Edge.t = Link.t