sig
type t = t list
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 terms : t -> Sl_term.Set.t
val vars : t -> Sl_term.Set.t
val to_string_sep : string -> t -> string
val subst : Sl_term.Subst.t -> t -> t
val unify :
?update_check:(Sl_term.Subst.t * Sl_term.Subst.t) Fun.predicate ->
(Sl_term.Subst.t, 'a, t) Unification.cps_unifier
val biunify :
?update_check:((Sl_term.Subst.t * Sl_term.Subst.t) *
(Sl_term.Subst.t * Sl_term.Subst.t))
Fun.predicate ->
(Sl_term.Subst.t * Sl_term.Subst.t, 'a, t) Unification.cps_unifier
end