As some prior art, Cargo already supports a separation of crates and packages (i.e. package has many crates). This is already leveraged if you e.g. have a library with a src/bin directory.
Here is a more concrete proposal for allowing multiple crates in a single package: