Haskellの機能的プログラミングに関して、Monadとは正確には何ですか？モナドの数学的概念とはどのような関係がありますか？
What exactly is a monad in terms of functional programming in Haskell? What relation does it have with the mathematical concept of a monad?