Many thanks to Attila and Fare for suggesting ways to rewrite my original patch. New version now available in the repo.

Note: has not been tested on old SBCL yet: I will do that later today when I get to the office.

Best,
r