anchor.diff:      `(let ((,variable ,keyform))
          ,(expand-typecase-clauses clauses variable))))
   
  +(define-compiler-macro typecase (&whole form &rest args)
  +  (declare (ignore args))
  +  (sicl-code-utilities:check-form-proper-list form)
  +  form)
  +
   ;;; Collect a list of all the types for etypecase or ctypecase 
   ;;; to be used as the `exptected type' in error reporting.
   (defun collect-e/ctypecase-keys (clauses)
  
positive.code:     `(let ((,variable ,keyform))
         ,(expand-case-clauses clauses variable))))
  
  ;;; Collect a list of all the keys for ecase or ccase 
  ;;; to be used as the `exptected type' in error reporting.
  (defun collect-e/ccase-keys (clauses name)
  
negative.code: 	   (tagbody
  	      ,label
  	      ,(expand-e/ctypecase-clauses clauses (car store-vars) final 'ctypecase)))))))
  
  (define-compiler-macro ctypecase (&whole form &rest args)
    (declare (ignore args))
    (sicl-code-utilities:check-form-proper-list form)
    form)
  
  