Right, that was my point — dependencies are resolved at runtime. This can fail of course, and it’s always better when things fail at compilation time, rather than crash the apps running on customer’s devices. As I said, solution like Koin might be a good idea for a small app with trivial DI setup: it’s lightweight and elegant. However, I doubt that it can scale to more or less large apps. I’d be curious to hear about teams using Koin in production, and how well does it work for them.