anchor.diff:          count = Count,
           skip = SkipCount,
           direction = Dir,
  -        start_docid = StartDocId
  +        start_docid = StartDocId,
  +        reduce = Reduce
       } = QueryArgs = parse_view_query(Req),
       
       case couch_view:get_map_view({DbName, <<"_design/", DocId/binary>>, ViewName}) of
  
positive.code:             Args#view_query_args{group_level=exact};
          {"group_level", LevelStr} ->
              Args#view_query_args{group_level=list_to_integer(LevelStr)};
          _ -> % unknown key
              Msg = lists:flatten(io_lib:format(
                  "Bad URL query key:~s", [Key])),
  
negative.code:     {not_found, Reason} ->
          case couch_view:get_reduce_view({DbName, <<"_design/", DocId/binary>>, ViewName}) of
          {ok, View} ->
              case Reduce of
              false ->
                  {reduce, _N, _Lang, MapView} = View,
                  {ok, RowCount} = couch_view:get_row_count(MapView),
                  Start = {StartKey, StartDocId},
                  FoldlFun = make_view_fold_fun(Req, QueryArgs, RowCount,
                      fun couch_view:reduce_to_count/1),
                  FoldAccInit = {Count, SkipCount, undefined, []},
                  FoldResult = couch_view:fold(MapView, Start, Dir, FoldlFun, FoldAccInit),
                  finish_view_fold(Req, RowCount, FoldResult);
              _ ->
                  output_reduce_view(Req, View)
              end;
          _ ->
              throw({not_found, Reason})
          end
  