GHC’s type system supports arbitrary-rank explicit universal quantification in types through the use of the Rank2Types
and RankNTypes
language extensions.
Rank2Types
or RankNTypes
language extension.forall
keyword can be used to add higher-rank quantification.