anchor.diff:  %% ```
   %% X = Fun([C,B,A], Arg)
   %% '''
  +%%
  +%% To use `reduce_phase_only_1' and `reduce_phase_batch_size' over the
  +%% HTTP interface, specify a JSON structure as the function's
  +%% argument, as in:
  +%% ```
  +%% {...,"query":[...,{"reduce":{...,"arg":{"reduce_phase_batch_size":100}}}]}
  +%% '''
  +%% Or:
  +%% ```
  +%% {...,"query":[...,{"reduce":{...,"arg":{"reduce_phase_only1":true}}}]}
  +%% '''
  +%% The HTTP interface will translate that argument into a mochijson2
  +%% structure (e.g. `{struct, [{<<"reduce_phase_only_1">>, true}]}'),
  +%% which this fitting will understand.  This also provides a safe way
  +%% to pass these arguments when using a reduce phase implemented in
  +%% Javascript over the Protocol Buffer or native interfaces.
  +%% Mochijson2 conversion will fail on the bare proplist, but will
  +%% succeed at encoding this form.
   %%
   %% The exception to the batching controls is handoff.  Whenever a
   %% worker receives handoff from another worker, it immediately reduces
  
positive.code:             proplists:get_value(reduce_phase_batch_size,
                                  Props, AppMax)
      end.
  
negative.code: calc_delay_max(#fitting_details{arg = {rct, _ReduceFun, ReduceArg}}) ->
      Props = case ReduceArg of
                  L when is_list(L) -> L;         % May or may not be a proplist
                  {struct, L} -> delay_props_from_json(L);
                  _                 -> []
              end,
      AppMax = app_helper:get_env(riak_kv, mapred_reduce_phase_batch_size, 20),
  