anchor.diff:  (provide :structures)
   (in-package :common-lisp)
   
  -(defun intern-structure-class (name superclasses) 
  -	(declare (ignore name superclasses))) ;; redefined by CLOS
  +(defun intern-structure-class (name superclass doc)
  +	(declare (ignore name superclass doc))) ;; redefined by CLOS
   
   (defun define-struct-template (name class type base initial-offset num-slots &rest fields)
   	(apply 'vector name class type base initial-offset num-slots fields))
  
positive.code: 
  		(push `',name expressions)	
  		`(progn
  			(let* ((,struct-template-sym ,struct-template)) 
  				,@(reverse struct-template-expressions))
  			,@(nreverse expressions))))
  
  
negative.code: 						(push inline struct-template-info)))
  				(t (error "Invalid slot option: ~A~%" opt))))
  
  		(setq struct-template
  			(apply #'define-struct-template name (unless struct-type (intern-structure-class name base doc-string)) struct-type
  					base-list initial-offset slot-count (reverse struct-template-info)))
  
  		;; install template		
  