     * carmine:mq:<qname>:msgs         -> hash, {mid mcontent}.
     * carmine:mq:<qname>:locks        -> hash, {mid lock-expiry-time}.
     * carmine:mq:<qname>:backoffs     -> hash, {mid backoff-expiry-time}.
-    * carmine:mq:<qname>:nretries     -> hash, {mid retry-count}.
+    * carmine:mq:<qname>:nattempts    -> hash, {mid attempt-count}.
     * carmine:mq:<qname>:mid-circle   -> list, rotating list of mids.
     * carmine:mq:<qname>:gc           -> set, for efficient mid removal from circle.
     * carmine:mq:<qname>:eoq-backoff? -> ttl flag, used for queue-wide (every-worker)

        redis.call('srem', _:qk-gc,            mid)
        redis.call('hdel', _:qk-msgs,          mid)
        redis.call('hdel', _:qk-locks,         mid)
        redis.call('hdel', _:qk-nretries,      mid)
        -- NB do NOT prune :qk_backoffs now, will be used post-handler as a
        -- dedupe backoff
        redis.call('set', _:qk-ndry-runs, 0) -- Did work on this run


(defn queue-status [conn qname]
  (let [qk (partial qkey qname)]
    (zipmap [:msgs :locks :backoffs :nattempts :mid-circle :gc
             :eoq-backoff? :ndry-runs]
     (wcar conn
       (car/hgetall*      (qk :msgs))
       (car/hgetall*      (qk :locks))
       (car/hgetall*      (qk :backoffs))
       (car/hgetall*      (qk :nattempts))
       (car/lrange        (qk :mid-circle) 0 -1)
       (->> (car/smembers (qk :gc))            (car/parse set))
       (->> (car/get      (qk :eoq-backoff?))  (car/parse-bool))
