anchor.diff:  % view-list request with view and list from same design doc.
   handle_view_list_req(#httpd{method='GET',
           path_parts=[_, _, DesignName, _, ListName, ViewName]}=Req, Db, DDoc) ->
  -    Keys = chttpd:qs_json_value(Req, "keys", nil),
  +    Keys = chttpd:qs_json_value(Req, "keys", undefined),
       handle_view_list(Req, Db, DDoc, ListName, {DesignName, ViewName}, Keys);
   
   % view-list request with view and list from different design docs.
   handle_view_list_req(#httpd{method='GET',
           path_parts=[_, _, _, _, ListName, DesignName, ViewName]}=Req, Db, DDoc) ->
  -    Keys = chttpd:qs_json_value(Req, "keys", nil),
  +    Keys = chttpd:qs_json_value(Req, "keys", undefined),
       handle_view_list(Req, Db, DDoc, ListName, {DesignName, ViewName}, Keys);
   
   handle_view_list_req(#httpd{method='GET'}=Req, _Db, _DDoc) ->
  
positive.code:         path_parts=[_, _, DesignName, _, ListName, ViewName]}=Req, Db, DDoc) ->
      ReqBody = chttpd:body(Req),
      {Props2} = ?JSON_DECODE(ReqBody),
      Keys = proplists:get_value(<<"keys">>, Props2, nil),
      handle_view_list(Req#httpd{req_body=ReqBody}, Db, DDoc, ListName,
          {DesignName, ViewName}, Keys);
  
  
negative.code:             fabric:query_view(Db, VDoc, ViewName, CB, Acc0, QueryArgs)
          end)
      end).
  
  % Maybe this is in the proplists API
  % todo move to couch_util
  