Protože existuje už asi milion vysvětlení a studenti nechápou ani jedno?
Nojo, jenže většina těch vysvětlení dělá tu samou chybu, že dostatečně důrazně nevysvětlí to, co tady pořád říkam: rozdíl mezi obecným konceptem a konkrétní monádou.
Ten obecnej koncept je prostě dost komplikovanej na to, aby ho část programátorů nepochopila. Tak to prostě je a nemá smysl se snažit vymyslet nějaký přirovnání k borůvkám s bláhovou představou, že borůvky pochopí každej.
Konkrétní monádu (třeba IO) ale pochopí každej, protože každej pochopí třeba ten Promise. Jenom se z toho nesmí dělat vědat. Třeba ten
http://learnyouahaskell.com/ je dobrej, z toho to pochopí každej.
Od pochopení konkrétní monády k obecnýmu konceptu je pak už snadnější cesta. I když ji každej nedá no, tak co.
On ten Komenský věděl, proč radí jít od konkrétního k abstraktnímu. Ono to totiž funguje.
----
Ale už se fakt omlouvám...