sig
  type reader
  val make_readers : Access.Writer.writer -> Access.Reader.reader list
  val null_reader : unit -> Access.Reader.reader
  val applicability :
    Access.Reader.reader -> Opt.binding_pattern -> Opt.applicability_value
  val iter_unification_candidates :
    (Fact.entry -> unit) ->
    Access.Reader.reader -> Term.term -> Term.context -> unit
  val iter_instance_candidates :
    (Fact.entry -> unit) ->
    Access.Reader.reader -> Term.term -> Term.context -> unit
  val iter_generalization_candidates :
    (Fact.entry -> unit) ->
    Access.Reader.reader -> Term.term -> Term.context -> unit
  val iter_all : (Fact.entry -> unit) -> Access.Reader.reader -> unit
  val get_indexargs : Access.Reader.reader -> Opt.indexargs
  val print_info : Access.Reader.reader -> unit
end