anchor.diff:    (:documentation "Mouse button press or release."))
   
   (defclass button-press-event (button-event)
  -  ((pressed :initform t))
  +  ()
  +  (:default-initargs :pressed t)
     (:documentation "Mouse button press."))
   
   (defclass button-release-event (button-event)
  -  ((pressed :initform nil))
  +  ()
  +  (:default-initargs :pressed nil)
     (:documentation "Mouse button release."))
   
   (defclass mouse-motion-event (event)
  
positive.code:   (:documentation "Window mapped or unmapped."))
  
  (defclass map-in-event (map-event)
    ((mapped :initform t))
    (:documentation "Window mapped in."))
  
  (defclass map-out-event (map-event)
    ((mapped :initform nil))
    (:documentation "Window unmapped."))
  
  (defclass close-event (event) ()
  
negative.code:   (:documentation "Window visibility changed."))
  
  (defclass visibility-obscured-event (visibility-event)
    ()
    (:default-initargs :visible nil)
    (:documentation "Window was fully obscured."))
  
  (defclass visibility-unobscured-event (visibility-event)
    ()
    (:default-initargs :visible t)
    (:documentation "Window was unobscured."))
  
  (defun push-event (window evt)
  