class Monad m where
return :: a -> m a
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
m >> n = m >>= \_ -> n
fail :: String -> m a
Я никогда не видел формулы (или объявления функции?) в классе стилей раньше. Почему в классе есть уравнение?
Я знаю, что _ - это термин для соответствия чему-либо. но что m → =\_ → n соответствует?