TypeFamilies

data X

data Y

data Z

class Test a

type family Foo a :: k

data family Bat a :: *

class Assoc a

type family Bar b

type family a <> b :: k

class a >< b