There could be an iterative process of adding this feature. after each step we could step back and see whether Kotlin wins by going the next step.
first step could be to allow dispatching for implicit receiver of extension methods only. IIRC they have a much more limited scope so that the decision can be done on a per module basis.
This is why I would like to separate the different proposals so that we can talk about them in isolation.
Full complete multimethods I would have to do research upfront. Currently, I know only how it is implemented in Xtend, which is quite straightforward, but I would have to check how it works in such multi module scenarios. My intuition says that an advanced V-table (perhaps per classloader would be a good "scope"?) with clear semantics would be best.