haskellにどんなモナドがあって、どういう使い方をすればいいのかは圏論を学んでも分からんよ。
Freeモナドが、Stateが、Parsec.ParsecTが、あるいはXMonad.Core.Xがどういうモナドなのか、圏論が教えてくれることはない。

VisitorとSingletonとIteratorと各々を学ばなきゃ使えないのに、デザインパターンという言葉の意味にだけ耽溺する奴とよく似ている。
よっぽど学術的なことをしたいか、さもなければ馬鹿だ。
俺は「純粋関数型言語で副作用はどう書けばいいのか」という初学者の質問に「IOモナドがー」と馬鹿な答を書く馬鹿がこのスレにいたのをよく覚えている。
ttp://blog.jle.im/entry/io-monad-considered-harmful
スノッブ共からモナドや圏論の言葉を取り戻さないといけない。