What they want is probably the addition of functions. For that, type b needs to be a Semigroup :
import Data.Semigroup
newtype Combine a b =
Combine { unCombine :: (a -> b) }
instance Semigroup b => Semigroup (Combine a b) where
(Combine f) <> (Combine g) = Combine (\x -> f x <> g x)