anchor.diff:          limit = Limit,
           skip = Skip,
           keys = Keys,
  -        stale = Stale
  +        stale = Stale,
  +        extra = Options
       } = QueryArgs,
  +    set_io_priority(DbName, Options),
       GroupFun = group_rows_fun(GroupLevel),
       MinSeq = if Stale == ok -> 0; true -> couch_db:get_update_seq(Db) end,
       {ok, Pid} = gen_server:call(couch_view, {get_group_server, DbName, Group0}),
  
positive.code: %%  call to with_db will supply your M:F with a #db{} and then remaining args
  
  all_docs(DbName, #view_query_args{keys=nil} = QueryArgs) ->
      erlang:put(io_priority, {interactive, DbName}),
      {ok, Db} = couch_db:open(DbName, []),
      #view_query_args{
          start_key = StartKey,
  
negative.code:     end.
  
  map_view(DbName, DDoc, ViewName, QueryArgs) ->
      {ok, Db} = couch_db:open(DbName, []),
      #view_query_args{
          limit = Limit,
  