Based on the suggestion provided at ZipList Monoid haskell, I have created this code which works:
newtype Ap f a = Ap { getAp :: f a } deriving (Eq, Show) i