Shadowing of existentially quantified type variables causes kind inference to fail
The kind inference currently fails if an existentially quantified type variable shadows a type parameter. For example, the following data declaration leads to an internal error:
data Foo a = forall a . Bar a