分からなくてもいいことを納得させてくれるモナド記事

https://dic.nicovideo.jp/a/%E3%83%A2%E3%83%8A%E3%83%89%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%29

プログラミングにおけるモナドとは、あるデザインパターンが、Javaでいうところのインターフェースで提供されるものだといえる。
もうこの時点で、モナドの意味を考えるという行為に疑問を抱かねばならない。
デザインパターンに「意味」を求めたりするだろうか。
モナドには種類があり、個々のモナドごとに違った意味を持っている。
個々のモナドの意味を通り越して、全てのモナドに共通の意味を求めようとすることが不幸の始まりなのである。

ただし「Haskellにおけるモナドの使い方」は以下記事で理解できると思う。
HaskellMonad型クラスは「圏論の意味でのモナド」とは厳密には違うらしく、それに合致しないモナドも作れてしまうらしい。
https://qiita.com/south37/items/06cfa95aa9c8f2ecb2e9
プログラム言語におけるモナドのイメージとしては、やはり「プログラム可能なセミコロン」がモナドであるという認識でよさそう。