:5:10: Illegal instance declaration for `C [Int]' (All instance types must be of the form (T a1 ... an) where a1 ... an are *distinct type variables*, and each type variable appears at most once in the instance head. Use -XFlexibleInstances if you want to disable this.) In the instance declaration for `C [Int]' :8:10: Overlapping instance declarations: instance C a => C [a] -- Defined at :8:10 instance C [Int] -- Defined at :7:10