Контроль за эффектами конечно много чего бы дал. Но это как null-чеки в каком-нибудь котлине - программист и сам может об этом подумать. Помню даже у Мартина (или у кого-то ещё) про этот rant вокруг nullability - типа прогеры стали такими тупыми, что не могут с нулями разобраться))
Но как бы это не было весело, все мы понимаем, что чем больше делает работы компилятор, тем лучше для конечного софта.
Ну очевидно, да, что идея в том, чтобы программист думал поменьше, даже если может о технической части.
А также о том, чтобы дать внешним программам(компилятору, ИДЕ) о ваших намерениях, чтобы как можно больше получить автоматизированно