anchor.diff:  %%      This log is *very* important because unless this log
   %%      there are no other way for operator to know a calculation
   %%      which riak_cs_storage_d failed.
  --spec maybe_sum_bucket(pid(), string(), string()|binary()) ->
  +-spec maybe_sum_bucket(riak_client(), string(), cs_bucket()) ->
                                 {binary(), [{binary(), integer()}]} |
                                 {binary(), binary()}.
  -maybe_sum_bucket(Riak, User, Bucket) when is_list(Bucket)->
  -    maybe_sum_bucket(Riak, User, list_to_binary(Bucket));
  -maybe_sum_bucket(Riak, User, Bucket) when is_binary(Bucket)->
  -    case sum_bucket(Riak, Bucket) of
  -        {struct, _} = BucketUsage -> {Bucket, BucketUsage};
  +maybe_sum_bucket(RcPid, User, ?RCS_BUCKET{name=Name} = Bucket) when is_list(Name) ->
  +    maybe_sum_bucket(RcPid, User, Bucket?RCS_BUCKET{name=list_to_binary(Name)});
  +maybe_sum_bucket(RcPid, User, ?RCS_BUCKET{name=Name} = _Bucket) when is_binary(Name) ->
  +    case sum_bucket(RcPid, Name) of
  +        {struct, _} = BucketUsage -> {Name, BucketUsage};
           {error, _} = E ->
               _ = lager:error("failed to calculate usage of "
                               "bucket '~s' of user '~s'. Reason: ~p",
  -                            [Bucket, User, E]),
  -            {Bucket, iolist_to_binary(io_lib:format("~p", [E]))}
  +                            [Name, User, E]),
  +            {Name, iolist_to_binary(io_lib:format("~p", [E]))}
       end.
   
   %% @doc Sum the number of bytes stored in active files in the named
  
positive.code: %% @doc Sum the number of bytes stored in active files in all of the
  %% given user's directories.  The result is a list of pairs of
  %% `{BucketName, Bytes}`.
  -spec sum_user(pid(), string()) -> {ok, [{string(), integer()}]}
                                   | {error, term()}.
  sum_user(Riak, User) when is_binary(User) ->
      sum_user(Riak, binary_to_list(User));
  sum_user(Riak, User) when is_list(User) ->
      case riak_cs_utils:get_user(User, Riak) of
          {ok, {?RCS_USER{buckets=Buckets}, _UserObj}} ->
              BucketUsages = [maybe_sum_bucket(Riak, User, B)
                              || ?RCS_BUCKET{name=B} <- Buckets],
              {ok, BucketUsages};
          {error, Error} ->
              {error, Error}
  
negative.code: %% The result is a mochijson structure with two fields: `Objects',
  %% which is the number of objects that were counted in the bucket, and
  %% `Bytes', which is the total size of all of those objects.
  -spec sum_bucket(riak_client(), binary()) -> {struct, [{binary(), integer()}]}
                                     | {error, term()}.
  sum_bucket(RcPid, BucketName) ->
      Query = [{map, {modfun, riak_cs_storage, object_size_map},
                [do_prereduce], false},
               {reduce, {modfun, riak_cs_storage, object_size_reduce},
  