sig
  type t
  val zero : Sig.Weight.t
  val infinity : Sig.Weight.t
  val compare : Sig.Weight.t -> Sig.Weight.t -> int
  val add : Sig.Weight.t -> Sig.Weight.t -> Sig.Weight.t
  val to_string : Sig.Weight.t -> string
end