New concepts are unnecessary to solve this problem. A Cargo [package]
can contain multiple crates already, which can be published and versioned as a single unit.
What's missing is a support for multiple [[lib]]
crates in a single [package]
the way you can already have multiple [[bin]]
crates in a single [package]
.
Here's a previous proposal to add such support: Multiple libraries in a cargo project