I am currently learning common lisp. The only thing I&#x27;ve really found lacking is support for basic string operations. I&#x27;m sure there is a solid library out there for things like replace(), but it seems silly for everyone to possibly be using separate libraries, or in-house implementations for standard string operations. It creates an unnecessary barrier to code readability. From what I&#x27;ve heard around the grape vine, this is a result of the ANSI standard being released prior to the popularization of these functions in other languages. If the CL specification is ever updated, I am sure that this problem will be solved. I am surprised this github project didn&#x27;t acknowledge this.<p>P.S. Changing the name of &#x27;Remove-if-not&#x27; makes absolutely no sense to me. Remove-if and Remove-if-not make perfect sense together. Adding a whole new word to memorize &quot;Keep&quot; just makes code less readable. Especially since Keep isn&#x27;t seen anywhere else in the language. Further-more the redundancy in the names &#x27;remove-if&#x27; and &#x27;remove-if-not&#x27; make you think about how these functions are actually the same, with only a small caveat. &#x27;remove-if&#x27; and &#x27;keep-if&#x27; make you think of these functions as different things, as different ideas, very unlispy.<p>edit: just checked cl-ppcre&#x27;s documentation and learned that split and replace are covered by that lib. Seeing as cl-ppcre seems to be used so widely, I take back what I said. Lisp is perfect once again.