haskellやってるんだけどモナドがよくわからない(>>=) :: m a -> (a -> m b) -> m b じゃなくて(>>=) :: m a -> (a -> m a) -> m a じゃないと連結できなくね……?