sig
  val subterms : TypedSTerm.t -> TypedSTerm.t Sequence.t
  val subterms_with_bound :
    TypedSTerm.t -> (TypedSTerm.t * TypedSTerm.t Var.Set.t) Sequence.t
  val vars : TypedSTerm.t -> TypedSTerm.t Var.t Sequence.t
  val free_vars : TypedSTerm.t -> TypedSTerm.t Var.t Sequence.t
  val metas : TypedSTerm.t -> TypedSTerm.meta_var Sequence.t
end