то есть в этом примере воспроизводится ситуация когда в слишком большом приложении мы напетляли в грязном коде и начали запускать submitLoginSize ожидая что loginSize (или любые другие данные) уже вычислились, запускать из середины процесса их вычисления
но при масштабировании приложения за всем не уследишь и такие петли в самых разных вариациях возникают регулярно, поэтому выход — явно разделить чистые вычисления состояний и побочные эффекты
чтобы те не нарушали процесс вычисления состояния и сами не ломались от использования неконсистентных данных посередине рассчётов