I would argue, that returns from middle of function are not nice either.
There are countless “get this return value” processes or algorithms which are inherently a sequence of fallible steps.
You’re going to tie yourself in knots trying to implement such an algorithm without having either a pyramid of
if lets, a sequence of
?s or some other construct where the control flow can return after progressing only half-way through the function.
Early return is simply an inherent property of certain algorithms and the combinator functions on
Option aren’t always the most maintainble way to write things.