Over-instantiation with :kind!
In HEAD, the
:kind! command prints an incorrect kind when used with a type synonym. It appears to saturate it, rather than displaying the kind of the partially applied type synonym, so it is inconsistent with
:kind and with previous releases.
I'm guessing this might be related to !4384 (closed)? I don't think this was changed deliberately though?
Steps to reproduce
GHCi, version 9.1.20201222: https://www.haskell.org/ghc/ :? for help ghci> type T a = a ghci> :kind! T T :: * = a ghci> :kind T T :: * -> *
:kind! T says
T :: *, which is nonsense. It could perhaps say either
T a :: * = a
T :: * -> * T a = a
either of which would make more sense.
For comparison, here is 8.10.2:
GHCi, version 8.10.2: https://www.haskell.org/ghc/ :? for help Prelude> type T a = a Prelude> :kind! T T :: * -> * = T Prelude> :kind T T :: * -> *
- GHC version used: HEAD (to be specific, 18479dbd)