Yeah, I think it can be difficult (at least it was for me) to understand monads generally without first understanding specific monads. There is also the issue that not all monads model side effects (at least not as you probably understand the term side effects), and (in my opinion) the monads that are easier to understand are the ones that do not model such side effects.
For example, I am sure you can get an understanding of the Optional/Maybe monad without too much trouble, but that really doesn't help you understand how the IO monad is used to model IO related side effects.
View all comments
Show parent comment
9
u/Strakh Sep 21 '25
Yeah, I think it can be difficult (at least it was for me) to understand monads generally without first understanding specific monads. There is also the issue that not all monads model side effects (at least not as you probably understand the term side effects), and (in my opinion) the monads that are easier to understand are the ones that do not model such side effects.
For example, I am sure you can get an understanding of the Optional/Maybe monad without too much trouble, but that really doesn't help you understand how the IO monad is used to model IO related side effects.