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