Here’s a function that fails a static type check, but has no runtime type error:
(defun foo () (sqrt (if (static-type-check? #’foo) "bogus" 2.0))
I suspect most people that favor static types will argue that this sort of program doesn’t count for some reason or other. I think this is more an example (albeit contrived) of the limitations of static type checking.