I think I want to include MADEIRA-PORT as a datapoint in this discussion:
Point being that it doesn't have to be hard or unportable to have things like
#+(:find-function #:exit :sb-ext)
/That/ out of the way, I'm not saying it's a complete solution. I'm
very much tempted to suggest an implementation specific #+ extension
for SBCL, (or possibly using a "reserved for implementation"
read-macro thing for this) that would allow specifying API versions,
MADEIRA-PORT represents my current best effort at what I thought was
sane and useful without going overboard or being SBCL specific, but
I'm 100% sure it is not the end-all-be-all solution. Fixing /my/
use-cases is easy. Fixing /everyone/'s use-cases is a lot harder.
Another option I've been thinking about would be to provide an
external-to-SBCL system SB-LEGACY that would implement remedies
similar to what the newly added Deprecated Interfaces chapter lists.
It would have to live outside of SBCL so that it can be updated for
older SBCLs when newer ones change, but I suspect it would not be
terribly much work for most part.