Сетевой слой разбит на сервисы, который как раз выглядят как `requestSomeStaff() -> Result<Staff, Error>. Вопросы маппинга и валидации ответов на корректность происходит в сетевом слое. Если мы говорим о репозитории, который, например, кэширует данные, то у него есть сервис работающий с БД (crud), и сервис из сетевого слоя. Этот репозиторий отдаётся в интерактор модуля, который уже запрашивает данные исходя из бизнес-логики модуля