X X
Вы описали очень узкий случай. Пользователи (люди) тут вообще не при чем. Помимо людей есть взаимодействия межсервисные, межкомпонентные, межакторные. И то, что вы можете описать в виде комбинаторов .mapError, .retry, .timeout, .ensuring и т.п. на акторах делать прям боль. И подобное нужно много где. А супервизоры вообще ортогональны этому. Супервизорами вы оперируете в разрезе предок-потомок, а не вызывающий-вызываемый.
Никто не заставляет это делать, на акторах вполне нормально, если взаимодействие с какой-нибудь БД в акторе происходит через интерфейс, а не ActorRef. Про супервизоры я упомянул в контексте ошибок, фолт толеранс без боли