Appearance
use dependency injection without compromising on quality of your tooling
Resolve all your dependencies on the type level before runtime
You can easily visualise your dependencies
As your team grows, dity helps with refactor rather than becoming a bottleneck