anchor.diff:      (unless armed
         (arm-menu client)
         (mapc #'disarm-menu (menu-children client))
  -      (setf armed t)
  -      (armed-callback button client id))
  +      (arm-gadget button t))
       (dispatch-repaint button (sheet-region button))))
   
   (defmethod disarm-menu ((button menu-button-pane))
     (with-slots (client armed id) button
       (when armed
  -      (setf armed nil)
  -      (disarmed-callback button client id)
  +      (disarm-gadget button)
         (dispatch-repaint button (sheet-region button)))))
   
   (defun menu-draw-highlighted (gadget)
  
positive.code:     (arm-menu button)))
  
  (defmethod destroy-substructure ((button menu-button-leaf-pane))
    (with-slots (armed) button
        (setf armed nil)))
  
  (defmethod handle-event ((pane menu-button-leaf-pane) (event pointer-button-release-event))
    (with-slots (armed label client id) pane
  
negative.code:             (draw-rectangle* gadget -1 -1 x2 y2
                               :ink (gadget-highlighted-color gadget)
                               :filled t)
              (draw-edges-lines* gadget 0 0 (1- w) (1- h)) ;(- w 2) (- h 2)
              (draw-label* gadget x1 y1 x2 y2)))))))
  
  (defun menu-draw-unhighlighted (gadget)
  