anchor.diff:  (defparameter modifier-list
     (list +control+ +meta+ +shift+ +super+ +hyper+)
     "List of known modifiers.
  -`make-key-chord' and `define-key' will raise an error if you try setting a
  -modifier that is not in this list.")
  +`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)))
  
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:   (if (= (length keys) 1)
        (progn
          (when (fset:@ (entries keymap) (first keys))
            ;; 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))))
  