Monad Challenges
Here are my solutions, together with some notes and commentary. Some times I got stuck and I had to ask more expert Haskell users: their help was not only useful to solve the problem at hand, but it gave me a deeper understanding of what was going on, or a different point of view on the subject or a different solution. I hope I'm able to faithfully render their invaluable insight.