anchor.diff:                 :format-control "Malformed plist ~S."
                  :format-arguments (list plist)))))
   
  -(defun canonicalize-defclass-direct-slot (direct-slot)
  +(defun canonicalize-defclass-direct-slot (class-name direct-slot)
     (check-type direct-slot (or (and symbol (not null))
                                 cons))
     (cond ((symbolp direct-slot)
  
positive.code:                (case sym
                   (:initform
                    (setf initform val
                          initfunction `#'(lambda () ,val)))
                   (:initarg
                    (push val initargs))
                   (:reader
  
negative.code:          (sys.int::%compiler-defclass ',name))
         (ensure-class ',name
                       :direct-superclasses ',direct-superclasses
                       :direct-slots (list ,@(loop
                                                for slot in direct-slots
                                                collect (canonicalize-defclass-direct-slot name slot)))
                       ,@(loop
                            for option in options
                            append (canonicalize-defclass-option name option))))))
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
  
  