anchor.diff:      get_changes_timeout/2,
       wait_db_updated/3,
       get_rest_db_updated/1,
  -    make_filter_fun/4,
  -    main_only_filter/1,
  -    all_docs_filter/1
  +    configure_filter/4,
  +    filter/3
   ]).
  +
  +-export([changes_enumerator/2]).
   
   % For the builtin filter _docs_ids, this is the maximum number
   % of documents for which we trigger the optimized code path.
  
positive.code:     end;
  changes_enumerator(DocInfo, Acc) ->
      #changes_acc{
          filter = FilterFun, callback = Callback, prepend = Prepend,
          user_acc = UserAcc, limit = Limit, resp_type = ResponseType, db = Db,
          timeout = Timeout, timeout_fun = TimeoutFun
      } = Acc,
      #doc_info{high_seq = Seq} = DocInfo,
      Results0 = FilterFun(Db, DocInfo),
      Results = [Result || Result <- Results0, Result /= null],
      Go = if (Limit =< 1) andalso Results =/= [] -> stop; true -> ok end,
      case Results of
  
negative.code:         conflicts = Conflicts,
          limit = Limit,
          feed = ResponseType,
          filter_fun = Filter
      } = Args,
      #changes_acc{
          db = Db,
          seq = StartSeq,
          prepend = Prepend,
          filter = Filter,
          callback = Callback,
          user_acc = UserAcc,
          resp_type = ResponseType,
  