anchor.diff:       (t (format t "Sorry, no description available for ~A" object))
        )))
   
  -
  +(defun get-template (struct)
  +	(let ((template (uref struct 1)))
  +		(if (symbolp template) ; construct a template
  +		    (let ((num-slots (1- (uvector-num-slots struct))))
  +                       (setq template (list template nil nil nil 0 num-slots))
  +                       (dotimes (i num-slots template)
  +			    (nconc template (list (intern (format nil "SLOT~A" (+ i 1)) keyword-package) nil t nil nil))))
  +                    template)))
   
   (defun describe-structure (x s) 
     
  
positive.code:   ;; Some kind of anonymous structure.
    ;; Second, no sense constructing a template when all the old code
    ;; cared about was consing up the names "SLOT1", "SLOT2", etc.
  
    (let* ((template (uref x 1))
  	 (*print-escape* nil)
  	 (num-slots)) 
  				
  
negative.code: 	    *dfs-a* (list "template" 	(uref x 1))
  	    *dfs-hex* (list "heap address" (%uvector-address x)))
  
      (dotimes (i num-slots)
  	(format s *dfs-s*
  		(elt template (+ 6 (* i 5)))
  		(uref x (+ 2 i))))))
  
  (defun describe-foreign (x s) 
  	(format s "FOREIGN POINTER:~%~?~?"
  