There is no guessing. You get to answer that question for yourself based on the context of your application. Many Lisps provide as much(or as little) type checking that you might want in your application.
OK, and now we've hit on the main problem I've had with Common Lisp -- every library thinks it's the only library in the universe, and they don't compose well. Your comment exactly expresses the attitude of the Common Lisp community (as I see it) -- "you should write every single line of code in your app from scratch, just for you".
No thanks. The less code I have to write, the better.
It seems that you have a beef with a particular(or multiple) Common Lisp libraries. Fair enough.
However, I never said that you should write every line of code in your app from scratch. I did say that you should OWN the decisions for YOUR app.
I believe that this more accurately describes the attitude of the CL community (and that of many other languages too).
My point was that meta-programming is more powerful in Lisp than Haskell(as far as I'm aware). That's pretty much it.