anchor.diff:  (defmacro typecase (keyform &rest cases)
     (let ((test-key (gensym "CASE-KEY")))
       `(let ((,test-key ,keyform))
  -       (declare (ignoreable ,test-key))
  +       (declare (ignorable ,test-key))
          (cond
            ,@(mapcar (lambda (clause)
                        (declare (type cons clause))
  
positive.code: (defmacro case (keyform &body cases)
    (let ((test-key (gensym "CASE-KEY")))
      `(let ((,test-key ,keyform))
         (declare (ignoreable ,test-key))
         (cond
           ,@(mapcar (lambda (clause)
                       (declare (type cons clause))
  
negative.code: (defmacro etypecase (keyform &rest cases)
    (let ((test-key (gensym "CASE-KEY")))
      `(let ((,test-key ,keyform))
         (declare (ignorable ,test-key))
         (cond
           ,@(mapcar (lambda (clause)
                       (declare (type cons clause))
  