The neat thing about Swift's ABI compatibility is that it's almost as flexible as its API compatibility, e.g.
- A library can add new fields to a struct.
- A library's parameterized types can be instantiated with new arguments.
Skimming over the D ABI docs, the compatibility seems much more rigid.