sig
type t = Sl_term.t Sl_term.Map.t
type var = Sl_term.t
type var_container = Sl_term.Set.t
val empty : t
val singleton : var -> var -> t
val of_list : (var * var) list -> t
val avoid : var_container -> var_container -> t
val pp : Format.formatter -> t -> unit
val to_string : t -> string
val apply : t -> var -> var
val partition : t -> t * t
val strip : t -> t
val mk_free_subst : var_container -> var_container -> t
val mk_ex_subst : var_container -> var_container -> t
end