We used it to create the Microsoft Surface SDK so that certain board assemblies can talk to each other without opening unwanted public APIs. Although this created the burden of manually ensuring that these libraries only use βapprovedβ internal things from each other.
source share