anchor.diff:                  end;
               false ->
                   []
  -        end}.
  +    end}}.
   
   parse_changes_query(Req, Db) ->
       ChangesArgs = lists:foldl(fun({Key, Value}, Args) ->
  
positive.code:     case couch_db:get_doc_info(Db, DocId) of
          {ok, DocInfo} ->
              %% get change row
              ChangeRow = view_change_row(Db, DocInfo, Args),
              %% emit change row
              Callback({change, ChangeRow, Prepend}, ResponseType),
  
              %% if we achieved the limit, stop here, else continue.
              NewLimit = OldLimit + 1,
              if Limit > NewLimit ->
                      {ok, {<<",\n">>, Db, NewLimit, Callback, Args}};
                  true ->
                      {stop, {<<"">>, Db, NewLimit, Callback, Args}}
              end;
          {error, not_found} ->
              %% doc not found, continue
  
negative.code: view_changes_cb(heartbeat, {_, _, _, Callback, Args}=Acc) ->
      Callback(timeout, Args#changes_args.feed),
      {ok, Acc};
  view_changes_cb({{Seq, _Key, DocId}, Val},
                  {Prepend, OldLimit, Db0, Callback, Args}=Acc) ->
  
      %% is the key removed from the index?
      Removed = case Val of
          {[{<<"_removed">>, true}]} -> true;
          _ -> false
      end,
  
      #changes_args{
          feed = ResponseType,
  