anchor.diff:  ;;; the CLHS.
   
   (defmacro defclass (name direct-superclasses direct-slots &rest options)
  -  (when (or (not (listp direct-slots))
  -	    (not (null (last direct-slots 0))))
  -    (error 'malformed-slots-list
  -	   :name 'defclass
  -	   :datum direct-slots))
     `(ensure-class ,name
  -		 :direct-superclasses ,direct-superclasses
  -		 :direct-slots ,(mapcar #'canonicalize-slot-spec direct-slots)
  +		 :direct-superclasses 
  +		 ,(canonicalize-direct-superclasses direct-superclasses)
  +		 :direct-slots
  +		 ,(canonicalize-direct-slots direct-slots)
   		 ,@(canonicalize-defclass-options options)))
   		 
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code:   (or (null object)
        (and (consp object)
  	   (null (cdr (last object))))))
  
  (defclass slot-definition ()
    ((name :initarg :name :accessor slot-definition-name)
     (initargs :initarg :initargs :accessor slot-definition-initargs)
     (initform :initarg :initform :accessor slot-definition-initform)
     (initfunction :initarg :initfunction :accessor slot-definition-initfunction)
     (readers :initarg :readers :accessor slot-definition-readers)
     (writers :initarg :writers :accessor slot-definition-writers)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code: (in-package :sicl-clos)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Conditions
  
  ;;; This condition is used to mix into other conditions that
  ;;; will report the construct (function, macro, etc) in which 
  