{-# LANGUAGE StandaloneDeriving, GeneralizedNewtypeDeriving #-}

import Control.Applicative
import Data.Monoid

deriving instance Monoid d => Monoid (ZipList d)

が上手くいかないのはなんでなんです?
↓こうなる。

x = ZipList $ map Sum [1..3]

*Main> x <> x
ZipList {getZipList = [Sum {getSum = 1},Sum {getSum = 2},Sum {getSum = 3},Sum {getSum = 1},Sum {getSum = 2},Sum {getSum = 3}]}