anchor.diff:  (declaim (ftype (function (key) keyspecs-type) key->keyspec))
   (defun key->keyspec (key)
     "Return the keyspec of KEY."
  -  (let ((value (if (zerop (key-code key)) ; TODO: Can a keycode be 0?  I think not.
  +  (let ((value (if (zerop (key-code key))
                      (key-value key)
                      (format nil "#~a" (key-code key))))
           (modifiers (fset:reduce (lambda (&rest mods) (str:join "-" mods))
  
positive.code: ;; #'equalp tests.
  (defstruct (key (:constructor %make-key (code value modifiers status))
                  (:copier %copy-key))
    (code 0 :type integer)
    (value "" :type string)
    (modifiers (fset:set) :type fset:wb-set)
    (status :pressed :type key-status-type))
  
negative.code:             down))
        string))
  
  (defun translate-remove-shift-toggle-case (keys)
    "With shift, keys without shift and with their key value case reversed:
  'shift-a shift-B' -> 'A b'."
  