anchor.diff:    (if (= (length keys) 1)
         (progn
           (when (fset:@ (entries keymap) (first keys))
  -          ;; TODO: Notify caller properly.
  +          ;; TODO: Notify caller properly?
             (warn "Key was bound to ~a" (fset:@ (entries keymap) (first keys))))
           (setf (fset:@ (entries keymap) (first keys)) sym))
         (let ((submap (fset:@ (entries keymap) (first keys))))
  
positive.code:             :initform nil
              :type list
              :documentation "List of parent keymaps.
  Parents are ordered by priority, the first parent has highest priority.")))
  
  (declaim (ftype (function (&rest keymap) keymap) make-keymap))
  (defun make-keymap (&rest parents)
    ;; We coerce to 'keymap because otherwise SBCL complains "type assertion too
    ;; complex to check: (VALUES KEYMAP::KEYMAP &REST T)."
    (coerce
     (make-instance 'keymap
                    :parents parents
                    ;; We cannot use the standard (make-hash-table :test #'equalp)
                    ;; because then (set "a") and (set "A") would be the same thing.
                    :entries (fset:map))
     'keymap))
  
  (defun keymap-p (object)
  
negative.code: (defparameter modifier-list
    (list +control+ +meta+ +shift+ +super+ +hyper+)
    "List of known modifiers.
  `make-key' and `define-key' raise an error when setting a modifier that is not
  in this list.")
  
  (deftype key-status-type ()
    `(or (eql :pressed) (eql :released)))
  