Regarding turning this into a library, this lack-of-versioning problem came up when trying to write another ABI in an extension module (see this thread, which was decided to be turned into a library instead), so that’s saying something. Turning this into a library is probably doable, but I’m not sure it’s the best approach (and probably doomed to fail, because as an ABI developer, the thought of installing an extra ABI just for managing the version of mine sounds a bit weird, so I doubt it’s something that would get any traction.)