In my project, there are 15-20 sub-crates total. Many of the crates have duplicate dependencies, and some have dependencies that are equivalent in name but different in version. I have a few questions:
 Do crates with duplicate, equal-versioned dependencies get compiled only once? Does having more than n > 1equal crates increase the compiled artifact?
 If I create a "root crate" that has all the dependencies I need, and then re-import these for the other 15-20 crates to use, will this save compile-time and minimize the output compiled artifact?