sig
type 'a t = private ID.t -> ID.t -> int
constraint 'a = [< `partial | `total ]
val arity : (ID.t -> int) -> [ `partial ] Precedence.Constr.t
val invfreq : ID.t Sequence.t -> [ `partial ] Precedence.Constr.t
val max : ID.t list -> [ `partial ] Precedence.Constr.t
val min : ID.t list -> [ `partial ] Precedence.Constr.t
val alpha : [ `total ] Precedence.Constr.t
val compose :
[ `partial ] Precedence.Constr.t ->
([< `partial | `total ] as 'a) Precedence.Constr.t ->
'a Precedence.Constr.t
val compose_sort :
(int * [ `partial ] Precedence.Constr.t) list ->
[ `partial ] Precedence.Constr.t
val make : (ID.t -> ID.t -> int) -> [ `partial ] Precedence.Constr.t
end