anchor.diff:    "The list of known commands, for internal use only.")
   
   (define-class command (standard-generic-function)
  -  ((visibility :mode
  +  ((visibility :mode                    ; So that `define-command' registers into `*command-list*'.
                  :type (member :global :mode :anonymous)
                  :reader t
                  :writer nil
  
positive.code:   `(echo-warning "~a is deprecated." ,(name command))
    (call-next-method))
  
  (defmethod initialize-instance :after ((command command) &key)
    (when (and (uiop:emptyp (documentation command 'function))
               (not (eq :anonymous (visibility command))))
      (error "Commands require documentation."))
    (unless (or (eq :anonymous (visibility command))
                (deprecated-p command))
      ;; Overwrite previous command:
      (setf *command-list* (delete (closer-mop:generic-function-name command) *command-list* :key #'closer-mop:generic-function-name))
      (push command *command-list*)))
  
  (defun find-command (name)
    (find name *command-list* :key #'name))
  
negative.code: (export-always 'make-command)
  (defun make-command (name lambda-expression &optional (visibility :anonymous))
    "Return an non-globally defined command named NAME."
    (make-instance 'command :name name
                            :lambda-expression lambda-expression
                            :visibility visibility))
  
  (export-always 'lambda-command)
  (defmacro lambda-command (name args &body body)
  