Avoid redeploying libraries

I'm reading "Mastering Ethereum" by Antonopoulos and Gavin Wood; and it states the following: "A library contract is one that is meant to be deployed once and used by other contracts.."

So it made me think in OpenZeppelin's current design; to use libraries maintained by OZ we are basically required to import and then deploy them.

Would it make sense for OpenZeppelin to deploy each library once per version so devs reference the addresses through an abstract contract, instead of having to deploy the libraries each time?

Would it even be cheaper?