odd/dangerous behavior with replaces= when reverting to previous package
if package A replaces B and they provide the same virtual package and B is installed by default, installing A works fine (it will replace B and B will get purged)
however, when trying to switch back to B, you need to go through something like, delete A from world first (that by itself will not do anything) and then install B again; apk will do that, but it will erase the files that were replaced in the process (because B will be installed, then A will be purged which will remove the replaced files, and then you have to manually fix B afterwards)
the most notable case in my case is multiple providers for libc; installing a secondary libc provider will be fine, but you can't restore the original libc without static apk or external system, as restoring the previous libc will erase your libc.so, and everything will stop working