Ну вот получается
что можно было бы сделать:
интерпретатор, которая говорит, что конструкции на языке MyService выражаются через языки...., включая язык MyRepo
все интерпретаторы - это правила деривации имплиситов, и могут безопасно иметь любые циклические зависимости и подключаться автоматически, не требуя от пользователя вашей реализации никаких особенных размышлений
Что вы сделали (и я раньше тоже делал) - функцию, сервис-хэндлер, которая генерирует пачку функций на базе других пачек функций, она требует ручного инстанциирования с определённым заранее порядком, или DI