anchor.diff:  %%
   %%      This fun uses quorum constants from config
   some_parts(KeyFun, SeqsKVPairs, {M,F,A}, Access) ->
  -    Const = get_const(Access),
  -    some_parts(KeyFun, SeqsKVPairs, {M,F,A}, Access, Const).
  +    some_parts(KeyFun, SeqsKVPairs, {M,F,A}, Access, get_const(Access)).
   
   
   %% @doc Do op on some shards, depending on list of keys sent in.
  
positive.code: %%
  %%      This fun uses quorum constants from config
  key_lookup(Key, {M,F,A}, Access) ->
      {N,_R,_W} = Consts = unpack_config(configuration:get_config()),
      Const = get_const(Access, Consts),
      key_lookup(Key, {M,F,A}, Access, Const, N).
  
  
  %% @doc Get to the proper shard on N nodes by key lookup
  
negative.code:     {LastK, LastVs, Acc} = lists:foldl(FoldFun, Acc0, Rest),
      [{LastK, LastVs} | Acc].
  
  get_const(r) ->
      list_to_integer(couch_config:get("cluster", "r", "2"));
  get_const(w) ->
      list_to_integer(couch_config:get("cluster", "w", "2"));
  get_const(r1) ->
      1;
  get_const(Other) ->
      throw({bad_access_term, Other}).
  