anchor.diff:      (ecase (event-type event)
         ((#.+window-closed+)      :window-closed)             
         ((#.+window-resized+)     :window-resized)            
  -      ((#.+last-window-closed+) :last-window-closed)        
  +      ((#.+last-window-closed+) :last-window-closed) 
         ((#.+action-performed+)   :action-performed)          
         ((#.+mouse-clicked+)      :mouse-clicked)             
         ((#.+mouse-pressed+)      :mouse-pressed)             
  
positive.code:  (sound.play                    "Sound.play"                   ((id id))))
  
  
  (defgeneric object-slots (object)
    (:method-combination append))
  
  (defclass timer ()
    ((duration-ms :initarg :duration-ms :initform 0.0d0 :type 'double :reader timer-duration-ms)))
  
  (defmethod object-slots append ((self timer))
    (list :duration-ms (timer-duration-ms self)))
  
  (defmethod print-object ((self timer) stream)
    (print-unreadable-object (self stream :identity t :type t)
      (format stream "~{~S~^ ~}" (object-slots self)))
    self)
  
  (defmethod initialize-instance :before ((self timer) &key &allow-other-keys)
    (open-backend))
  
  
negative.code:   (setf (slot-value self 'raised) new-value)
    (3drect.set-raised self new-value))
  
  ;;;----------------------------------------------------------------------------------------
  
  (defclass round-rect (object)
    ((corner :initarg :corner :initform *default-corner* :type double :reader round-rect-corner)))
  
  