@madisp: yeah that’s what I’m hoping for in the long-term, but the project is quite big and often it’s just not possible to avoid cycles.
@voddan: Dependency injection (usually) is a dynamic feature and I try to avoid such features when I can.
Kotlin already gives me a compile-time guarantee that every dependency I need is passed in (when using constructors).
With DI I’ll only get an exception at runtime when the dependency is first used or I have to set up additional and unnecessary tooling to achieve similar.
I see no need in additional libraries and tooling for something which is already quite easy to do with Kotlin itself. It could just be even a little easier 🙂