The GADTs extension implies ExistentialQuantification
Summary
According to the User's Guide section on GADTs, the extension implies only MonoLocalBinds and GADTSyntax.
http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/gadt.html
However the following short program compiles so it seems that ExistentialQuantification is also implied by GADTs:
{-# LANGUAGE GADTs #-}
module T16344 where
data T3 a = forall b. MkT3 (T3 b)
Proposed improvements or changes
I'm assuming this is an oversight in User's Guide, rather than a GHC bug. IMO it makes sense to require ExistentialQuantification: it's definitely allowed in GADT-style declarations, so why not in regular syntax as well?
In this case, the fix is trivial: just add the ExistentialQuantification to the two extensions already implied by GADTs.
Environment
- GHC version used (if appropriate): 9.2.1