sig
  val vars : Type.t -> Type.t HVar.t Sequence.t
  val sub : Type.t -> Type.t Sequence.t
  val symbols : Type.t -> ID.t Sequence.t
  val add_set : Type.Set.t -> Type.t Sequence.t -> Type.Set.t
  val max_var : Type.t HVar.t Sequence.t -> int
  val min_var : Type.t HVar.t Sequence.t -> int
end