anchor.diff:  
       {ok, ChangesAcc} = send_changes(
           Args#changes_args{dir=fwd},
  -        Callback,
  -        UserAcc,
  -        Db,
  -        StartSeq,
  -        Prepend,
  +        Acc0,
           FirstRound),
       #changes_acc{
  +        db = Db, callback = Callback, timeout = Timeout, timeout_fun = TimeoutFun,
           seq = EndSeq, prepend = Prepend2, user_acc = UserAcc2, limit = NewLimit
       } = ChangesAcc,
   
  
positive.code:     end.
  
  
  keep_sending_changes(Args, Callback, UserAcc, Db, StartSeq, Prepend, Timeout,
      TimeoutFun, FirstRound) ->
      #changes_args{
          feed = ResponseType,
          limit = Limit,
  
negative.code:     fwd ->
          Since
      end,
      % begin timer to deal with heartbeat when filter function fails
      case Args#changes_args.heartbeat of
      undefined ->
          erlang:erase(last_changes_heartbeat);
      Val when is_integer(Val); Val =:= true ->
          put(last_changes_heartbeat, now())
      end,
  
      if Feed == "continuous" orelse Feed == "longpoll" ->
          fun(CallbackAcc) ->
              {Callback, UserAcc} = get_callback_acc(CallbackAcc),
  