Skip to content

Change kind specificities for generics

Motivation

When using TypeApplications with GHC.Generics, it's useful to specify the types explicitly. It's not so useful to specify the kinds explicitly. For example, to1 @Maybe would be helpful, but actually you have to write to1 @_ @Maybe, or to1 @Type @Maybe, to do that.

Proposal

Write kind signatures for Generic1 and the Generic components to mark kinds inferred:

type Generic1 :: forall {k}. (k -> Type) -> k -> Type
type K1 :: forall {k}. Type -> Type -> k -> Type
-- et cetera
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information