type elt
= t
val compare_elt : elt -> elt -> int
type t
val create : elt -> t
val compare_size : t -> t -> int
val cost : t -> BasicCost.t
val merge : from:t -> to_:t -> unit
val pp_equalities : F.formatter -> t -> unit
val normalize_sums : normalizer:(elt -> elt) -> t -> unit
val sum_items : t -> Item.t list
val infer_equalities_from_sums : on_infer:(elt -> elt -> unit) -> normalizer:(elt -> elt) -> t -> unit
val init_cost : of_node:(Node.id -> BasicCost.t) -> t -> unit
val improve_cost_from_sums : on_improve:(Sum.t -> BasicCost.t -> BasicCost.t -> unit) -> of_item:(Item.t -> BasicCost.t) -> t -> unit
val improve_cost_with : t -> BasicCost.t -> BasicCost.t option