Rust errors _are_ monads. That style of error handling is known as &quot;monadic error handling&quot;.<p>When the blog post says &quot;you don&#x27;t need to learn monads&quot;, it&#x27;s being tongue-in-cheek. He&#x27;s pointing out that whilst Rust errors are monadic, you don&#x27;t need to learn monads to work with them.<p>To be fair to Haskell, it doesn&#x27;t force you to learn what a monad is either (ha!), but often the full details of what a monad is are emphasized before teaching IO or error handling. Which works somewhat, but also gives monads their infamy.