>(x / y) * z + 45.5 нету тут лишнего джампа. тут условный float|nan захотим сложить с чем то еще получим тоже условный float|nan без всяких блядь лишних джампов. просто по факту получим.
а уже потом когда мы захотим выйти из под нан-зашквар-монады - нам надо чекнуть этот float|nan на нан и убрать из типа неопределённость. что тут непонятно?
еще еще охуительные курсы уровня "смотрите мы сделали 2+2 через какуюнибудь стрелку клейсли и теперь у тас десяток конструкторов и транзишенов между ними чтобы литералли сложить 2+2 - вот это фп, учитесь"