anchor.diff:  		      &rest
   			initargs
   		      &key
  -			name
  -			direct-superclasses
  -			direct-slots
   		      &allow-other-keys)
  -  (when (symbolp class)
  -    (setf class (find-class class)))
  -  (if (eq class *class-standard-class*)
  -      (let* ((defs (find-effective-slots 'standard-class))
  -	     (slot-storage (allocate-slot-storage (length defs)
  -						  *secret-unbound-value*))
  -	     (instance (allocate-standard-instance *class-standard-class*
  -						   slot-storage)))
  -	(loop for (initarg value) on initargs by #'cddr
  -	      do (setf (slot-value-using-slot-initarg instance initarg defs)
  -		       value))
  -	(initialize-instance-after-standard-class
  -	 instance name direct-superclasses direct-slots)
  -	(initialize-unbound-slots instance defs)
  -	instance)
  -      (error "can't make instances of other classes yet")))
  +  (let ((class-name (if (symbolp class) class (find-class-reverse class)))
  +	(class-metaobject (if (symbolp class) (find-class class) class)))
  +    (apply #'sd-make-instance
  +	   class-metaobject
  +	   (find-effective-slots class-name)
  +	   initargs)))
   
   ;;; REMEMBER: Redefine make-instance as a generic function. +
   
  
positive.code: ;; 		 :datum new-class)
  ;; 	  (setf (gethash name *classes*) new-class))))
  
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code: 		    (eq (slot-contents slots i) *secret-unbound-value*))
  	       ;; Initialize the slot from the initform.
  	       (setf (slot-contents slots i)
  		     (eval (cadr (member :initform slot-description)))))))
    ;; Call after methods
    (when (eq (standard-instance-class instance)
  	    (find-class 'standard-class))
      (apply #'sd-initialize-instance-after-standard-class
  	   instance initargs)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  