sig
  type t = (TypedSTerm.term, TypedSTerm.term) Var.Subst.t
  val empty : TypedSTerm.Subst.t
  val mem : TypedSTerm.Subst.t -> TypedSTerm.term Var.t -> bool
  val add :
    TypedSTerm.Subst.t ->
    TypedSTerm.term Var.t -> TypedSTerm.term -> TypedSTerm.Subst.t
  val find :
    TypedSTerm.Subst.t -> TypedSTerm.term Var.t -> TypedSTerm.term option
  val find_exn :
    TypedSTerm.Subst.t -> TypedSTerm.term Var.t -> TypedSTerm.term
  val eval : TypedSTerm.Subst.t -> TypedSTerm.term -> TypedSTerm.term
  val eval_head : TypedSTerm.Subst.t -> TypedSTerm.term -> TypedSTerm.term
  val pp : t CCFormat.printer
  val to_string : t -> string
end