sig
  type entry = Fact.entry
  type index
  val make_index : unit -> NoIndex.index
  val clear : NoIndex.index -> unit
  val insert : NoIndex.index -> Term.term -> NoIndex.entry -> unit
  val remove_variant : NoIndex.index -> Term.term -> unit
  val iter_all : (NoIndex.entry -> unit) -> NoIndex.index -> unit
  val iter_all_and_throw_away :
    (NoIndex.entry -> unit) -> NoIndex.index -> unit
  val iter_instance_candidates :
    (NoIndex.entry -> unit) ->
    NoIndex.index -> Term.term -> Term.context -> unit
  val iter_generalization_candidates :
    (NoIndex.entry -> unit) ->
    NoIndex.index -> Term.term -> Term.context -> unit
  val iter_unification_candidates :
    (NoIndex.entry -> unit) ->
    NoIndex.index -> Term.term -> Term.context -> unit
  val size : NoIndex.index -> int
end