Edit: thank you all for your wonderfully encouraging and useful responses. I know what I'm playing with tonight!!!
It's often thought that in order to program Haskell one must understand or use Monads since they are so often mentioned. That's often a mental hurdle for those interested in the language.
Two things to keep in mind here are:
-in the book "An introduction to functional programming systems using Haskell" by A. Davie (1992), Monads (or Functors or Monoids) aren't mentioned at all. That's because they hadn't been architected yet. Monads are not an inherent part of Haskell without which you can't learn or use the language.
-Monads are ordinary data types, even if syntactic sugar is provided. They are not a core aspect of the language.
An explanation I found most useful is http://blog.sigfpe.com/2006/08/you-could-have-invented-monad...
One can just start programming Haskell and ignore Monads if one wants. At some point you will design them or something much like them yourself, making their understanding an "Aha!" moment.
[1] The problem with "easy to understand" is that it sometimes leads to oversimplified or wrong intuitions, but to be honest I found the book a nice -- if not immediately useful -- introduction to Haskell.
I will probably now re-read Learn You a Haskell and actually write some Haskell.
[1] https://drboolean.gitbooks.io/mostly-adequate-guide/content/
[1]: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...