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 the
providePart macro to eliminate a single dependency.
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.