anchor.diff:  				 inherit-from-func description history
   				 parameters-are-types
   				 compile-time-p
  -				 supers)
  +				 supers expansion-func)
     (let* ((fake-name (make-presentation-type-name name))
   	 (ptype-class-args (list :type-name name
   				 :parameters parameters
  
positive.code: 	 (options-ll (transform-options-lambda-list options))
  	 (inherit-from-func (make-inherit-from-lambda params-ll
  						      options-ll
  						      inherit-from))
  	 (type-meta (gensym "TYPE-META"))
  	 (clos-p (gensym "CLOS-P"))
  	 (presentation-meta (gensym "PRESENTATION-META"))
  	 (fake-name (make-presentation-type-name name)))
      `(progn
         (eval-when (:compile-toplevel)
  	 (record-presentation-type ',name ',parameters ',params-ll ',options
  				   ',options-ll #',inherit-from-func
  				   ',description ',history
  				   ',parameters-are-types
  				   t nil))
         (eval-when (:load-toplevel :execute)
  	 (%define-presentation-type ,name ,parameters ,params-ll
  				    ,options ,options-ll
  
negative.code: 			     (if (eq super-name 'and)
  				 (mapcar #'presentation-type-name super-params)
  				 (list super-name)))
  			   nil))
  	 (expansion-lambda (make-expansion-lambda params-ll options-ll)))
      `(progn
         (record-presentation-type ',name ',parameters ',params-ll ',options
  				   ',options-ll #',inherit-from-lambda
  				   ',description ',history
  				   ',parameters-are-types
  				   nil ',superclasses
  	                           #',expansion-lambda)
         ,@(cond ((eq (presentation-type-name inherit-typespec) 'and)
  		(loop for super in superclasses
  		    for i from 0
  