anchor.diff:  intercept(#'queue.declare'{queue = QName} = Method, VHost) ->
       case is_sharded(VHost, QName) of
           true ->
  -            {error, rabbit_misc:format("Can't declare sharded queue: ~p", [QName])};
  +            {error, format("Can't declare sharded queue: ~p", [QName])};
           _    ->
               {ok, Method}
       end;
  
positive.code: intercept(#'queue.unbind'{queue = QName} = Method, VHost) ->
      case is_sharded(VHost, QName) of
          true ->
              {error, rabbit_misc:format("Can't unbind sharded queue: ~p", [QName])};
          _    ->
              {ok, Method}
      end;
  
negative.code:     end.
  
  lookup_exchange(VHost, QBin) ->
      rabbit_exchange:lookup(r(VHost, exchange, QBin)).
  
  least_consumers(VHost, QBin, N) ->
      F = fun(QNum) ->
                  QBin2 = rabbit_sharding_util:make_queue_name(
                            QBin, a2b(node()), QNum),
                  case consumer_count(r(VHost, queue, QBin2)) of
                      {error, E}       -> {error, E};
                      [{consumers, C}] -> {C, QBin2}
                  end
  