I wrote on Fergus's example with Alfred, Betty ...
type T a = T ...
instance Additive (T a) where
(T x)+(T y) = T (x+y)
...
It should be data T a ...
instance Additive a => Additive (T a) where ...
