anchor.diff:  	(when errorp
   	  (error 'command-not-present))
   	(progn 
  -	  (when (typep item 'menu-item)
  +	  (when (typep item '%menu-item)
   	    (remove-menu-item-from-command-table table
   						 (command-menu-item-name item)
                                                    :errorp nil))
  
positive.code:   (when (and (consp text-style)
  	   (eq (first text-style) 'make-text-style))
      (setq text-style (apply #'make-text-style (rest text-style))))
    (apply #'make-instance 'menu-item
  	 :menu-name name :type type :value value
  	 `(,@(and documentationp `(:documentation ,documentation))
  	   ,@(and keystrokep `(:keystroke ,keystroke))
  
negative.code: 
  ;;; According to the specification, command menu items are stored as
  ;;; lists.  This way seems better, and I hope nothing will break.
  (defclass %menu-item (command-item)
    ((menu-name :reader command-menu-item-name :initarg :menu-name)
     (type :initarg :type :reader command-menu-item-type)
     (value :initarg :value :reader command-menu-item-value)
  