Here's my second concern I accidentally forgot to include in the original email: If you split libs into independent projects, how will you retain the ability to make project wide refactoring and API changes. Right now it's very practical that we can change erts or stdlib/kernel and adapt all of lib/*.