Though I’m not the best at explaining things, hopefully it makes sense.
Though I’m not the best at explaining things, hopefully it makes sense.
Sorry if I misunderstood. I've been reading many explanations for monads, but insight seem to elude me.
For example, mapping some function over a Result type that may or may not have a value in an iterative manner would make me check for the existence of the value, unpack, and apply function. If we have a Monad abstraction then I can just map my function which will be applied in case of a result, or the whole thing will remain None - it is safe either way. And one other useful part is the uniformity of functions working on monads - I can use the same ones for a List, Result, or any similar container, IO, State monads and even Async is a monad.