anchor.diff:  	       (values (make-type-spec name expansion options) t)
   	       (values type nil))))
   	(t (let* ((expander (gethash name *presentation-type-abbreviations*)))
  -	     (if expander
  -		 (values (funcall expander type) t)
  -		 (values type nil))))))))
  +	     (flet ((copy-description (expanded-typespec)
  +		      (with-presentation-type-decoded (expand-name
  +						       expand-params
  +						       expand-options)
  +			expanded-typespec
  +			(let ((description (getf options :description))
  +			      (expand-desc (getf expand-options :description)))
  +			  (if (and description
  +				   (null expand-desc))
  +			      (make-type-spec expand-name
  +					      expand-params
  +					      `(:description ,description
  +						,@expand-options))
  +			      expanded-typespec)))))
  +	       (if expander
  +		 (values (copy-description (funcall expander type)) t)
  +		 (values type nil)))))))))
  +
   
   (defun expand-presentation-type-abbreviation (type &optional env)
     (let ((expand-any-p nil))
  
positive.code: 	 (%define-presentation-type ,name ,parameters ,params-ll
  				    ,options ,options-ll
  				    ,inherit-from ,inherit-from-func
  				    ',description ',history
  				    ',parameters-are-types)))))
  
  
  (defun presentation-type-parameters (type-name &optional env)
  
negative.code: 	  (values t t)
  	  (values nil nil)))))
  
  (defun default-describe-presentation-type (description stream plural-count)
    (if (symbolp description)
        (setq description (make-default-description (symbol-name description))))
    (cond ((numberp plural-count)
  	 (format stream "~D ~A~P" plural-count description plural-count))
  	(plural-count
  	 (format stream "~As" description))
  	(t (format stream "~:[a~;an~] ~A"
  		   (find (char description 0) "aeiouAEIOU")
  		   description))))
  
  (define-presentation-generic-function %describe-presentation-type
      describe-presentation-type
    (type-key parameters options type stream plural-count ))
  
  (define-default-presentation-method describe-presentation-type
      (type stream plural-count)
    (with-presentation-type-decoded (name parameters options)
      type
      (declare (ignore name parameters))
      (let ((description (or (getf options :description)
  			   (description (class-of type-key)))))
        (default-describe-presentation-type description
  	                                  stream
  	                                  plural-count))))
  
  (defun describe-presentation-type (type
  				   &optional
  				   (stream *standard-output*)
  				   (plural-count 1))
    (flet ((describe (stream)
  	   (funcall-presentation-generic-function describe-presentation-type
  						  type
  						  stream
  						  plural-count)))
      (if stream
  	(describe stream)
  	(with-output-to-string (s)
  	  (describe s)))))
  
  ;;; The presentation types
  
  (define-presentation-type t ())
  