title: Common Lisp type declarations not working as expected
body: <p>When I define a function in Common Lisp like this:</p>
  
  <pre><code>(defun foo (n)
    (declare (type fixnum n))
    (+ n 42))
  </code></pre>
  
  <p>I expected a call like <code>(foo "a")</code> to fail right away but it instead fail at the call to <code>+</code>.  Is the <code>declare</code> form not guarantees static type checking?</p>