>>560
* Please don't require the `cl' package of Common Lisp extensions at
run time. Use of this package is optional, and it is not part of
the standard Emacs namespace. If your package loads `cl' at run
time, that could cause name clashes for users who don't use that
package.

However, there is no problem with using the `cl' package at compile
time, for the sake of macros. You do that like this:

(eval-when-compile (require 'cl))