sig
  type back_end_call =
      Processing_context.processing_context ->
      string * string option * string -> Physical_value.item list
  val register_back_end : string -> Fn_doc.back_end_call -> unit
  type alive_documents
  val build_alive_documents_table : unit -> Fn_doc.alive_documents
  val build_dummy_alive_documents_table : unit -> Fn_doc.alive_documents
  val alive_documents_table_mem :
    Fn_doc.alive_documents -> Datatypes.xs_string -> bool
  val alive_documents_table_get :
    Fn_doc.alive_documents -> Datatypes.xs_string -> Physical_value.item list
  val alive_documents_table_put :
    Fn_doc.alive_documents ->
    Datatypes.xs_string -> Physical_value.item list -> unit
  val merge_alive_documents :
    Fn_doc.alive_documents ->
    Fn_doc.alive_documents -> Fn_doc.alive_documents
  val lookup_document_from_io :
    Galax_io.input_spec ->
    Fn_doc.alive_documents option ->
    Processing_context.processing_context -> Physical_value.item list
  val lookup_doc_function :
    Datatypes.xs_string ->
    Fn_doc.alive_documents option ->
    Processing_context.processing_context -> Physical_value.item list
  val lookup_doc_function_no_table :
    Datatypes.xs_string ->
    Processing_context.processing_context -> Physical_value.item list
  val lookup_doc_function_with_index :
    Datatypes.xs_string ->
    Physical_name_index.name_indices_handler ->
    Fn_doc.alive_documents option ->
    Processing_context.processing_context -> Physical_value.item list
  val lookup_collection_function :
    Datatypes.xs_string ->
    Fn_doc.alive_documents option ->
    Processing_context.processing_context -> Physical_value.item list
end