Forward Declarations in Swift?

Cross-import overlays would allow module A to vend certain APIs only when module B is also imported:

However, if the implementation of modules A and B are both interdependent, that may not be sufficient. It is worth asking in that case whether they’re really separate modules then.

Have you looked into using the library stability features so that clients don’t have to be rebuilt with new versions of each library?