anchor.diff:  queue_name(VHost, QBin) ->
       case lookup_exchange(VHost, QBin) of
           {ok, X}  ->
  -            {ok, least_consumers(VHost, QBin, shards_per_node(X))};
  +            least_consumers(VHost, QBin, shards_per_node(X));
           _Error ->
               %% Queue is not part of a shard, return unmodified name
               {ok, QBin}
  
positive.code:       fun(Q) ->
                rabbit_amqqueue:info(Q, [consumers])
        end).
  
  do_n(F, N) ->
      do_n(F, 0, N, []).
  
  do_n(_F, N, N, Acc) ->
      Acc;
  do_n(F, Count, N, Acc) ->
      Acc2 = case F(Count) of
                 {error, _} -> Acc;
                 Ret        -> [Ret|Acc]
             end,
      do_n(F, Count+1, N, Acc2).
  
negative.code: lookup_exchange(VHost, QBin) ->
      rabbit_exchange:lookup(rabbit_misc:r(VHost, exchange, QBin)).
  
  least_consumers(VHost, QBin, N) ->
      F = fun(QNum) ->
                  QBin2 = rabbit_sharding_util:make_queue_name(
  