anchor.diff:                     (values :initarg :values :reader unknown-exception-values)))
   
   
  -(defun exception-typecode (exception)
  +(defmethod any-typecode ((exception exception))
     "The typecode for the exception"
     (symbol-typecode (exception-name exception)))
  +
  +(defun feature (name)
  +  (intern (string-upcase name) :op))
  +
  +(defmethod all-fields ((exc userexception))
  +  (map 'list
  +       (lambda (member) (funcall (feature (first member)) exc))
  +       (tc-members (any-typecode exc))))
   
   
   (defvar *user-exception-classes*
  
positive.code: (defun id-exception-class (id)
    (gethash id *user-exception-classes*))
  
   
  
  
  
  
  
negative.code: ;;;; User Exceptions
  ;;;
  ;;; exception-id exc        --> ifr-id
  ;;; id-exception-class id   --> exception-class
  ;;;
  
  