Why use OIDs?
Well, because they’re reasonably efficient to search for and they’re non-updateable. They’re automatically created (when you ask for them in the CREATE TABLE). For the code to check you’ve created a serial of the required type in the right place and that you’ve created a unique index and etc… It’s easier just to use OIDs. Yes, they could wrap, but with user tables no longer having OIDs by default this should become less of a problem. Besides, the list of tags shouldn’t change.