   ([name env]
    (let [registry-sym   (symbol (str "+" name "-registry+"))
          register-sym   (symbol (str "register-" name "!"))
+         unregister-sym (symbol (str "unregister-" name "!"))
          registered-sym (symbol (str "registered-" (plural name)))
          reset-sym      (symbol (str "reset-registered-"
                                      (plural name) "!"))

        (defn ~register-sym
          [~'name ~'def]
          (swap! ~registry-sym assoc ~'name ~'def))
        (defn ~registered-sym
          []
          (deref ~registry-sym))

   will result in the following functions to be defined:

   (defn register-command! [name def] ...)
   (defn unregister-command! [name] ...)
   (defn registered-commands [] ...)
   (defn reset-registered-commands! [] ...)
   (defn resolve-command [name] ...)."
