There is a new approach to incremental compilation in Kotlin, which improved compilation avoidance for ABI-compatible changes. https://blog.jetbrains.com/kotlin/2022/07/a-new-approach-to-incremental-compilation-in-kotlin
I wonder if the internal
keyword plays a role in this. Should classes and methods that are not intended to be used outside a module be marked with the internal visibility so that changes to their signature do not cause dependent modules to be recompiled?