method fold:
    'a. ('a -> literal -> 'data predicate_index -> 'a) -> 'a -> 'a =
    fun func acc ->
    Table.fold
      (fun literal index acc ->
         func acc literal index
      )
      _indexes
      acc