 (defvar evil-collection--bindings-record (make-hash-table :test 'eq)
   "Record of bindings currently made by Evil Collection. This is
 a hash-table with the package symbol as a key.  The associated
-values are the package's bindings which are stored as a
-hash-table with key being the key to be bound and value as the
-binding.")
+values are the package's bindings which are stored as a list of
+the form ((STATE KEY BINDING)).")
 
 (defvar evil-collection-setup-hook nil
   "Hook run by `evil-collection-init' for each mode that is evilified.

                            (remove-hook 'after-load-functions #',fun)
                            (apply #'evil-define-key*
                                   ',state ,map-sym ',filtered-bindings))))
             (add-hook 'after-load-functions fun t))))
    (puthash map-sym record evil-collection--bindings-record)))

(defun evil-collection-describe-all-bindings ()
  "Print bindings made by Evil Collection to separate buffer."

    (with-current-buffer buf
      (erase-buffer)
      (org-mode)
      (dolist (keymap
               (sort (hash-table-keys evil-collection--bindings-record)
                     (lambda (a b)
                       (string-lessp (symbol-name a)
                                     (symbol-name b)))))
        (insert "\n\n* " (symbol-name keymap) "\n")
        (insert "
| State | Key | Definition |
|-------|-----|------------|
")
        (cl-loop
         for (state key def) in
         (sort (gethash keymap evil-collection--bindings-record)
               #'evil-collection--binding-lessp)
         do
         (when (and def (not (eq def 'ignore)))
           (insert (format "| %s | %s | %S |\n"
                           state
                           (replace-regexp-in-string "|" "¦" key)
                           def))))
        (org-table-align))
      (goto-char (point-min)))))

(defun evil-collection--translate-key (state keymap-symbol
                                             translations
