Prelude> (fmap . const ) 2 Just 3
2
Prelude> 2 <$ Just 3
Just 2
Prelude> :t (<$)
(<$) :: Functor f => a -> f b -> f a
Prelude> :t fmap . const
fmap . const :: Functor f => b -> f a -> f b
in functor,
(<$) = fmap . const
why I get different result for Maybe? did not find a implement of <$
in Maybe. Thanks.