sig
  type label
  type t
  val weight : Path.WEIGHT.label -> Path.WEIGHT.t
  val compare : Path.WEIGHT.t -> Path.WEIGHT.t -> int
  val add : Path.WEIGHT.t -> Path.WEIGHT.t -> Path.WEIGHT.t
  val zero : Path.WEIGHT.t
end