Swift is exploring a cute idea for library transparency: you can distinguish between "this ABI is guaranteed to keep working" and "I want an extra layer of indirection so I can add to data structures without breaking downstream users".
https://forums.swift.org/t/pitch-library-evolution-for-stable-abis/23026
miniblog.
Related Posts
The different layers of the Nix ecosystem, and the overlay system to allow downstream users to override (c.f. dynamic binding):
An elegant way of seeing if you're breaking API compatibility: try building all the downstream deps against WIP!