I think the module-per-soure-set modelling is nothing internal. It just reflects the spec. According to https://kotlinlang.org/docs/visibility-modifiers.html#modules modules are “… A Gradle source set”. To me this does not leave much room for interpretation. Just my two €ent.