sig
  type term
  type t = Substs.subst
  val find_exn :
    Substs.SPECIALIZED.t ->
    Substs.var Scoped.t -> Substs.SPECIALIZED.term Scoped.t
  val get_var :
    Substs.SPECIALIZED.t ->
    Substs.var Scoped.t -> Substs.SPECIALIZED.term Scoped.t option
  val deref :
    Substs.SPECIALIZED.t ->
    Substs.SPECIALIZED.term Scoped.t -> Substs.SPECIALIZED.term Scoped.t
  val apply :
    Substs.SPECIALIZED.t ->
    renaming:Substs.Renaming.t ->
    Substs.SPECIALIZED.term Scoped.t -> Substs.SPECIALIZED.term
  val apply_no_renaming :
    Substs.SPECIALIZED.t ->
    Substs.SPECIALIZED.term Scoped.t -> Substs.SPECIALIZED.term
  val bind :
    Substs.SPECIALIZED.t ->
    Substs.var Scoped.t ->
    Substs.SPECIALIZED.term Scoped.t -> Substs.SPECIALIZED.t
end