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.