class C a where { type T a; } instance C Int where { type T Int = Bool; } instance C Bool where { type T Bool = T Int; }