anchor.diff:          fun(CallbackAcc) ->
               {Callback, UserAcc} = get_callback_acc(CallbackAcc),
               UserAcc2 = start_sending_changes(Callback, UserAcc, Feed),
  +            {Timeout, TimeoutFun} = get_changes_timeout(Args, Callback),
  +            Acc0 = build_acc(Args#changes_args{feed="normal"}, Callback,
  +                             UserAcc2, Db, StartSeq, <<>>, Timeout, TimeoutFun),
               {ok, #changes_acc{seq = LastSeq, user_acc = UserAcc3}} =
                   send_changes(
                       Args#changes_args{feed="normal"},
  -                    Callback,
  -                    UserAcc2,
  -                    Db,
  -                    StartSeq,
  -                    <<>>,
  +                    Acc0,
                       true),
               end_sending_changes(Callback, UserAcc3, LastSeq, Feed)
           end
  
positive.code:         resp_type = ResponseType,
          limit = Limit,
          include_docs = IncludeDocs,
          conflicts = Conflicts
      },
      case FirstRound of
      true ->
          case FilterName of
  
negative.code: changes_enumerator(DocInfo, #changes_acc{resp_type = "continuous"} = Acc) ->
      #changes_acc{
          filter = FilterFun, callback = Callback,
          user_acc = UserAcc, limit = Limit, db = Db,
          timeout = Timeout, timeout_fun = TimeoutFun
      } = Acc,
      #doc_info{high_seq = Seq} = DocInfo,
      Results0 = FilterFun(Db, DocInfo),
      Results = [Result || Result <- Results0, Result /= null],
      %% TODO: I'm thinking this should be < 1 and not =< 1
      Go = if Limit =< 1 -> stop; true -> ok end,
      case Results of
      [] ->
          {Done, UserAcc2} = maybe_heartbeat(Timeout, TimeoutFun, UserAcc),
          case Done of
          stop ->
              {stop, Acc#changes_acc{seq = Seq, user_acc = UserAcc2}};
          ok ->
              {Go, Acc#changes_acc{seq = Seq, user_acc = UserAcc2}}
          end;
      _ ->
          ChangesRow = changes_row(Results, DocInfo, Acc),
          UserAcc2 = Callback({change, ChangesRow, <<>>}, "continuous", UserAcc),
          reset_heartbeat(),
          {Go, Acc#changes_acc{seq = Seq, user_acc = UserAcc2, limit = Limit - 1}}
      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),
  