type role Foo phantom phantom type Foo :: (* -> *) -> forall k. k -> * data Foo a b -- Defined at :3:1