Fix accidental unsoundness in Data.Typeable.Internal.mkTypeLitFromString
An accidental use of tcSymbol
instead of tcNat
in the TypeLitNat
case of
mkTypeLitFromString
meant that it was possible to unsafely equate Nat
with
Symbol
. A consequence of this is that you could write unsafeCoerce
, as
observed in #19288 (closed). This is fixed easily enough, thankfully.
Fixes #19288 (closed).