 
 (defun spacemacs//micro-state-create-wrapper (name default-doc binding)
   "Create a wrapper of FUNC and return a tuple (key wrapper BINDING)."
-  (let* ((wrapped (cadr binding))
+  (let* ((key (car binding))
+         (wrapped (cadr binding))
          (binding-doc (spacemacs/mplist-get binding :doc))
-         (wrapper-name (intern (format "spacemacs//%s-%s" (symbol-name name)
-                                       (symbol-name wrapped))))
+         (wrapper-name (intern (format "spacemacs//%s-%s-%s"
+                                       (symbol-name name)
+                                       (symbol-name wrapped)
+                                       key)))
          (wrapper-func
           (eval `(defun ,wrapper-name ()
                    "Auto-generated function"

  (mapcar (lambda (x) `(define-key map ,(kbd (car x)) ',(cadr x)))
          wrappers))

(defun spacemacs//micro-state-create-exit-func (name wrappers on-exit)
  "Return a function to execute when leaving the micro-state.

The returned function returns nil if the executed command exits the

           'set-transient-map)
        (let ((map (make-sparse-keymap)))
          ,@keymap-body map) ',(spacemacs//micro-state-create-exit-func
                                name wrappers persistent on-exit)))))

(defun spacemacs//micro-state-func-name (name)
  "Return the name of the micro-state function."
