For your consideration:
defsystem.patch changes cl-unification.asd to use asdf-system-connections to ensure the cl-ppcre bits are loaded when both cl-unification and cl-ppcre are loaded, eliminating load-order issues which were otherwise causing me trouble. This eliminates the need for cl-unification-lib.asd entirely.
cl-ppcre.patch alters regex unification to: A) signal 'unification-failure when cl-ppcre:scan returns nil (no match), rather than triggering undefined behavior with inaccurate type declarations, or type-errors with (= nil <number>). B) consider any match, rather than only a match of the entire string, to be a successful unification. Presumably, if one desires a match across the entire string, they'll be using the appropriate anchors.