data D x = D x; class C a where { type T a; } instance C (D x) where { type T (D x) = T x; }