The umbrella project is mostly a Gradle file. Gradle will handle dependencies conflict resolution and produce a single dependency without conflicts. Think about it: you might have multiple kmp libs depending on different versions of stdlib, coroutines, serialization, your own lib, etc. You need something to resolve all of that at some point. Gradle does that.