I don't think adding debug/safety 0 are really worth it. In this:
(declaim (optimize speed)
(ftype (function (fixnum) fixnum) fib))
(defun fib (n)
(if (<= n 1)
1
(+ (fib (- n 1))
(fib (- n 2)))))
(print (fib 46))
adding `(safety 0) (debug 0)` took the time from 13.17s (with just the `speed` declaration) down to 12.94s for me. Is a 2% speed increase really worth the danger of `(safety 0)`?