只是在寻找以下组合如何工作的解释:
(=<<) . return
在哪里
(=<<) :: (a -> m b) -> m a -> m b
return :: a -> m a
(.) :: (b -> c) -> (a -> b) -> a -> c
最终类型:
GHCi> :t (=<<) . return
(=<<) . return :: Monad m => m b -> m a -> m b
我无法理解如何将ma与(a -> mb)匹配,即。如何将简单类型的返回结果应用于(=<<)期望函数类型的第一个参数?