anchor.diff:  (defmethod keys ((item null))
     nil)
   
  -(defun plist-set (plist key val) ;; FIX: use this to add keys to plists so that their order isn't changed
  +(defun plist-set (plist key val)
     (if (getf plist key)
         (progn
           (setf (getf plist key) val)
  
positive.code:   (:documentation "Class representing a musical event."))
  
  (defun event (&rest params)
    (let ((ev (make-instance 'event)))
      (labels ((accumulator (pairs)
                 (when (not (null (car pairs)))
  
negative.code:       ev)))
  
  (defun set-event-value (event slot value)
    "Set the value of SLOT to VALUE in EVENT."
    (if (position slot *event-basic-parameters*)
        (funcall (fdefinition (list 'setf slot)) value event)
        (setf (slot-value event 'other-params) (plist-set (slot-value event 'other-params) (as-keyword slot) value))))
  
  (defun get-event-value (event slot)
    "Return the value of SLOT in EVENT."
    (let ((slot (re-intern slot)))
      (if (and (fboundp slot)
               (eq 'standard-generic-function (type-of (fdefinition slot))))
  