Been there as well. Typically, Launch will inform you if your library contains a version of a particular rule or data element that has been outdated in the meantime, and typically what devs is just update their version a little carelessly.
This is what causes the issues I think l.
There are no branches, merges and pull requests one may know from source code versioning.
I would love to have a library act as a branch that remains by itself and does not impact the other branches until I want to merge it onto Stage or Prod.
The same way I can discard a branch like that without impacting the other existing branches / libraries.
Surely one of my top wishes
Cheers from Switzerland!