And by the way I think CCL's issue of non-reachable TYPECASE is totally bizarre.  I mean a "warning" is "warning", right?
But it's "Fatal".

File foo.lisp:
=========
(defun foo (x)
  (typecase x
    (integer 1)
    (fixnum 2)))


? (compile-file "/tmp/foo.lisp")
(compile-file "/tmp/foo.lisp")
;Compiler warnings for "/tmp/foo.lisp" :
;   In FOO: Clause (FIXNUM 2) ignored in TYPECASE form - shadowed by (INTEGER 1) .
#P"/private/tmp/foo.dx32fsl"
T
T