anchor.diff:    (%compound-slice cf start end))
   
   (defun compound? ((a object))
  -  (%compound? cf))
  +  (%compound? a))
   
   (defun eq ((a object) (b object))
     (%eq a b))
  
positive.code:                   (lambda ,params ,@body))
        #',name))
  
  (defmacro defslot (slot class)
    (let* ((slot-name (symbol-name slot))
           (accessor-name (string-concat "." slot-name))
           (setter-name (setter-name accessor-name))
           (slot-name-form (string-to-form slot-name)))
  
negative.code:         ,(if superclass 
               #`(set-superclass (class ,class-name) (class ,superclass))
               #`(set-superclass (class ,class-name) (class object)))
          ,@(compound-map (lambda (slot-descriptor)
                            #`(defslot ,slot-descriptor ,class-name))
                          slot-descriptors)
          (class ,class-name))))
  
  (defmacro defgeneric (name &rest args)
  