human
ハスケルのモナドとは何ですか？
gpt
Haskellのモナドは、次のような型のクラスである。
```haskell
class Monad m where
  (>>=)  :: m a -> (a -> m b) -> m b
  (>>)   :: m a -> m b -> m b
  return :: a -> m a
```

モナドは、HaskellのMaybeのように、他の型をラップする型を扱うときに便利だ。