The trick to avoid deeply-nested error-handling code | Hugonweb Annotated Link Bibliography

https://haskellforall.com/2021/05/the-trick-to-avoid-deeply-nested-error

Inside a do-block for the Either monad, Left short-circuits out of the block. Keep in mind return doesn't. That could be a good reason to use pure instead.