functor (G : G) ->
functor
(W : sig
type label = G.E.label
type t
val weight : label -> t
val compare : t -> t -> int
val add : t -> t -> t
val zero : t
end) ->
sig
val shortest_path : Path.G.t -> G.V.t -> G.V.t -> Path.G.E.t list * W.t
end