Thanks, I think I understand a bit more now :)

Sure, you can convert from ZIO env to functions and back either by hand or with macro. And you can use theprovidePart macro to eliminate a single dependency.

However, the ModuleDef, macros etc. seem like quite heavy and brittle machinery for such a basic and common task as wiring the dependency graph. But for sure there are places where this might be useful.

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder