Does it solve any problem? According to the first footnote of PCL, if not a keyword it interns the symbol in the current package. As all keywords are interned in the keyword
Also from PCL:
Loop keywords is a bit of a misnomer since they aren't keyword symbols. In fact,
LOOP
doesn't care what package the symbols are from. When theLOOP
macro parses its body, it considers any appropriately named symbols equivalent. You could even use true keywords if you wanted--:for
,:across
, and so on--because they also have the correct name. But most folks just use plain symbols. Because the loop keywords are used only as syntactic markers, it doesn't matter if they're used for other purposes--as function or variable names.
(Peter Seibel, Practical Common Lisp, Chapter 7, Footnote 8.)