Like Erik Meijer said in his course : there is nothing special or magic about monads. They don&#x27;t deserve all the fuzz arround them. If you don&#x27;t get why monads are so awesome, maybe that&#x27;s a proof that you understood them. Because there is nothing special !!<p>A monad is just a type with 2 functions defined. Like an interface with two methods in OO langages. The 2 functions have to respect some laws but you can imagine whatever implementation for the 2 functions as long as the laws are observed (et type signature of course).<p>You could invent a total different implementation for the list monad, for the maybe monad, etc (if you respect the laws). There is no hidden ultra powerfull meaning which implies only one implementation.<p>The best paper on monads i ever read is an ascii art one, by Graham Hutton :
<a href="http:&#x2F;&#x2F;www.cs.nott.ac.uk&#x2F;~pszgmh&#x2F;monads" rel="nofollow">http:&#x2F;&#x2F;www.cs.nott.ac.uk&#x2F;~pszgmh&#x2F;monads</a>