sig
  val vars : STerm.t -> STerm.var Sequence.t
  val free_vars : STerm.t -> string Sequence.t
  val subterms : STerm.t -> STerm.t Sequence.t
  val subterms_with_bound :
    STerm.t -> (STerm.t * STerm.StringSet.t) Sequence.t
  val symbols : STerm.t -> string Sequence.t
end