...  @@ 48,7 +48,7 @@ warning: [Wincompletepatterns] 
...  @@ 48,7 +48,7 @@ warning: [Wincompletepatterns] 

Guards do not cover entire pattern space


Guards do not cover entire pattern space


```


```






### `PolyKinds` and `TypeInType` are pickier


### `PolyKinds` is pickier










GHC is now more diligent about catching illegal uses of kind polymorphism that snuck into recent GHC releases. For instance, this used to be accepted without `PolyKinds`:


GHC is now more diligent about catching illegal uses of kind polymorphism that snuck into recent GHC releases. For instance, this used to be accepted without `PolyKinds`:

...  @@ 62,7 +62,7 @@ classC a where 
...  @@ 62,7 +62,7 @@ classC a where 

Despite the fact that `a` is used as a kind variable in the type signature for `c`. This is now an error unless `PolyKinds` is explicitly enabled.


Despite the fact that `a` is used as a kind variable in the type signature for `c`. This is now an error unless `PolyKinds` is explicitly enabled.










Moreover, GHC 8.4 would accept the following without the use of `TypeInType` (or even `PolyKinds`!):


Moreover, GHC 8.4 would accept the following without the use of `PolyKinds`:






```


```


f:: forall k (a :: k).Proxy a


f:: forall k (a :: k).Proxy a

...  @@ 70,7 +70,7 @@ f=Proxy 
...  @@ 70,7 +70,7 @@ f=Proxy 

```


```










Despite the fact that `k` is used as both a type and kind variable. This is now an error unless `TypeInType` is explicitly enabled.


Despite the fact that `k` is used as both a type and kind variable. This is now an error unless `PolyKinds` is explicitly enabled.















...   ...  