Almost, it's more like an "applyer" method with some extra logic. You're never allowed to get "raw" values out, you can only pass functions inward to modify the value.
If you want to get the raw values out (and you almost always do) then you have to add some extra logic to the object above its "monadic" nature.
If you want to get the raw values out (and you almost always do) then you have to add some extra logic to the object above its "monadic" nature.
And yeah, it is really, really simple!