sig
  type t = Term.t * Jst.t
  val make : Term.t -> Jst.t -> Fact.Nonneg.t
  val term_of : Fact.Nonneg.t -> Term.t
  val pp : Fact.Nonneg.t Pretty.printer
  val map : Jst.Eqtrans.t -> Fact.Nonneg.t -> Fact.Nonneg.t
  val is_var : Fact.Nonneg.t -> bool
  val is_pure : Th.t -> Fact.Nonneg.t -> bool
  val status : Fact.Nonneg.t -> Term.status
end