TLKS instantiation differences between data types and data family declarations
The following works on the wip/top-level-kind-signatures
branch:
type T :: Type -> Type
data family T
But if we change T
to a data type:
type T :: Type -> Type
data T
Then GHC complains:
[1 of 1] Compiling Bug ( Bug.hs, Bug.o )
Bug.hs:8:1: error:
• Expected a type, but found something with kind ‘* -> *’
• In the data type declaration for ‘T’
|
8 | data T
| ^^^^^^
This is a bit confusing, as I would have expected the treatment of data types and data family declarations to be similar here.