Seeing as demand for these monad tutorials continues unabated, one might imagine that the tutorial-writers are doing something fundamentally wrong. Brent Yorgey [4] puts it like this:
…imagine the following scenario: Joe Haskeller is trying to learn about monads. After struggling to understand them for a week, looking at examples, writing code, reading things other people have written, he finally has an "aha!" moment: everything is suddenly clear, and Joe Understands Monads! What has really happened, of course, is that Joe's brain has fit all the details together into a higher-level abstraction, a metaphor which Joe can use to get an intuitive grasp of monads; let us suppose that Joe's metaphor is that Monads are Like Burritos. Here is where Joe badly misinterprets his own thought process: "Of course!" Joe thinks. "It's all so simple now. The key to understanding monads is that they are Like Burritos. If only I had thought of this before!" The problem, of course, is that if Joe HAD thought of this before, it wouldn't have helped: the week of struggling through details was a necessary and integral part of forming Joe's Burrito intuition, not a sad consequence of his failure to hit upon the idea sooner.
But now Joe goes and writes a monad tutorial called "Monads are Burritos," under the well-intentioned but mistaken assumption that if other people read his magical insight, learning about monads will be a snap for them. "Monads are easy," Joe writes. "Think of them as burritos." Joe hides all the actual details about types and such because those are scary, and people will learn better if they can avoid all that difficult and confusing stuff. Of course, exactly the opposite is true, and all Joe has done is make it harder for people to learn about monads, because now they have to spend a week thinking that monads are burritos and getting utterly confused, and then a week trying to forget about the burrito analogy, before they can actually get down to the business of learning about monads.
Joe had a mental problem of sorts, and he managed to solve it, but he is mistaken about how he solved it. Worse, he's unlikely to ever be corrected. For, I imagine that the readers of Joe's tutorial will be left with a better impression of the tutorial, and will be better affected by it, than Yorgey predicts. Will the burrito analogy be all they need? By no means. But by reading that tutorial, they'll inevitably work with monads some more and think about monads some more, and over time, after reading a lot of other tutorials and writing code and scratching their heads, they'll come to understand monads, just as Joe did originally. All the silly quirks of the tutorials had nothing to do with it. The learner just stumbles to the understanding themself.
My idea is that this is what happens with psychotherapy. All psychotherapies are about equally effective (or so Bruce Wampold argues in The Great Psychotherapy Debate), despite their exaggerated differences, and none are silver bullets, but people manage to get something out of them from what makes psychotherapy psychotherapy—talking to someone you have faith in about your problems, thinking critically about your problems, and so on. In order to create psychotherapies that treat mental illnesses more effectively and more reliably than a burrito analogy can explain monads, we'll need to stop relying so heavily on introspection and determine
precisely how mental illness is brought under control.
Considering the huge range of possible causes of mental illness, I'm betting that good psychotherapies will be much more narrowly specialized on problems (but still much less subject to variation between patients in method and in results) than PCT, RET, CBT, ACT, DBT, and the rest of the alphabet soup we have today.