As an idea for unload-feature, when unloading a buffer-local minor mode it could helpfully find buffers where the mode is enabled and disable it before unloading. An example foo.el mode below. Eval the code in try-foo.el and it leaves the buffer boldened, where disabling the mode could have undone it. Of course foo.el can do something like the commented-out `foo-unload-function' itself, but I think almost all minor modes would benefit from this and that `unload-feature' might therefore handle it. Identifying a minor mode function would be as easy as looking in `minor-mode-list' would it? Otherwise I expect define-minor-mode could chuck some code in `foo-unload-hook' - if it presumes the feature symbol will match the load filename.