так вот если у тебя есть куча зависимостей A -> B B -> C C -> D и B -> C и С -> D описываются чистыми функциями, ты в случае диая и имплисит фора всё равно вставляешь их в один общий механизм резолюшена
т.е. у тебя есть одна эффектфул инициализация, но в результате, у тебя есть либо гигантский фор, либо модульной описание зависимостей, завязывающее тебя на реализацию диая
тогда у тебя есть (contextual B) -> B (через эмбед) B -> C C -> D всё это имплиситы, всё это модульно, разделяется и шарится в любой проект, в котором вообще скала поддерживается
в результате код инициализации контекста примерно так же выглядит как построение диая, но инициализировать нужно только то, что реально требует инициализации, что ссылается на коннекшоны, стейты и тому подобное