Rainer answered the positive part of your question.
Here is the answer to the normative part:
Which type-specifiers should I use?
You should not use any, unless you know very well what you are doing.
Type annotations in Common Lisp are optional; they are intended for the experts for the performance tuning. It is highly unlikely that you will ever gain any meaningful benefit from type declarations and you are highly likely to be hurt by them. E.g., if your type annotation is wrong you might get a segfault instead of an error message (when combined with unsafe code).
Additionally, the effect may be the opposite of what one might expect. E.g., using specialized arrays (e.g., (array double-float)) to reduce memory footprint may result in an increased garbage collection because every array access may have to box a new double-float.
Essentially, type annotations are usually micro optimizations which should be accompanied by careful profiling.