к
fmap f x = A f x
foo = fmap
bar = foo a b
так и останется
(Если ghc сам не решит заинлайнить foo)
2. инлайн foo
fmap f x = A f x
foo = fmap
bar = foo a b
{-# INLINE foo #-}
станет
bar = fmap a b
(Если ghc сам не решит заинлайнить fmap)
3. инлайн всего
fmap f x = A f x
foo = fmap
bar = foo a b
{-# INLINE foo #-}
{-# INLINE fmap #-}
станет
bar = A a b