Sort of sounds like the interfaces/components/boundaries/separation of concerns in your modules isn't up to scratch. This is more of an org issue around management as opposed to the language unless you think rust has a set of fetaurs that help with this