I am trying to rewrite code using TypeFamilies to code using FunctionalDependencies. Had: class A a where type B a ; class A a => C a I added (B a) as argument to A: class A' a b | a -> b What do I do with b in definition of C' now? class A' a b => C' a