anchor.diff:     'progn
      (when own-reader
        `(%proto-method ,own-reader ((object ,class))
  -          ,(format nil "Returns the object's own ~(~A~), even if it is nil, ignoring inheritence." slot-name)
  +          ,(format nil "Returns the object's own ~(~A~), even if it is nil, ignoring inheritence." (or reader slot-name))
           (slot-value object ',slot-name)))
   
      (when reader
        `(%proto-method ,reader ((object ,class))
  -          ,(format nil "Returns the object's ~(~A~). If that is nil and the object has a base, returns the ~(~A~)'s ~(~0@*~A~) instead." slot-name base)
  +          ,(format nil "Returns the object's ~(~A~). If that is nil and the object has a base, returns the ~(~A~)'s ~(~0@*~A~) instead."
  +                   (or reader slot-name) base)
           (let ((val (and (slot-boundp object ',slot-name)
                           (slot-value object ',slot-name))))
             (if (,base object)
  
positive.code: 
     (when own-reader
       `(%proto-method ,own-reader ((object ,class))
            ,(format nil "Return the object's own ~(~A~) list, NOT including those inherited from the object's ~(~A~)." reader base)
          (slot-value object ',slot-name)))
  
     (when reader
       `(%proto-method ,reader ((object ,class))
            ,(format nil "Return the object's ~(~A~) list, including any inherited from the object's ~(~A~)." reader base)
          (let ((b (,base object))
                (val (and (slot-boundp object ',slot-name)
                          (slot-value object ',slot-name))))
  
negative.code: 
     (when finder
       `(%proto-method ,finder ((object ,class) query)
            ,(format nil "Find and return the first matching item from the object's ~(~A~) list, including those inherited from the object's ~(~A~). Return nil if there is no match." (or reader slot-name) base)
          (or (and (slot-boundp object ',slot-name)
                   (find query (slot-value object ',slot-name)
                         :key ,key :test ,test))
  