CL's LOOP can be a useful tool, but it is not fully general purpose. Many language purists find it to be an abomination. Many pragmatists find it to be beautiful despite its rough spots.
Recommendation: Value results over style. Only worry about style when bugs keep cropping up in the same section of ugly code. Then refactor that code, remembering to value results over style.