Асимметрия в функции BING

ghci> :t (>>=)
(>>=) :: Monad m => m a -> (a -> m b) -> m b

Как наступит второй аргумент (A -> Mb) вместо (MA -> MB) или даже (A -> б) ? Что это в концептуально о монаде, которые требуют этой подписи? Это имеет смысл иметь классы типа с альтернативными подписями t a -> (t a -> t b) -> t b t a -> (a -> b) -> t b ?

11
задан ehird 7 February 2012 в 19:42
поделиться