Applicative functor に関するLYAHの章を読んでいますが、次の例を理解していないようです:
ghci> :t fmap (++) (Just "hey")
fmap (++) (Just "hey") :: Maybe ([Char] -> [Char])
しかし、これを見ると:
ghci> :t (++)
(++) :: [a] -> [a] -> [a]
ghci> :t fmap
fmap :: Functor f => (a -> b) -> f a -> f b
(*3)や(++"this")のようなものが(a -> b)型にどのように適合するかは理解できますが、 [a] -> [a] -> [a] の方法がわかりません。 (a -> b)に適合しますか?