sig
type t
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val to_string : t -> string
val pp : Format.formatter -> t -> unit
val tags : t -> Tags.t
val subst_tags : Tagpairs.t -> t -> t
val satisfiable : t Fun.predicate
val valid : t Fun.predicate
val unify :
?update_check:Tagpairs.t Unification.state_update Fun.predicate ->
(Tagpairs.t, 'a, t) Unification.cps_unifier
val biunify :
?update_check:(Tagpairs.t * Tagpairs.t) Unification.state_update
Fun.predicate ->
(Tagpairs.t * Tagpairs.t, 'a, t) Unification.cps_unifier
end