[project @ 1999-03-17 08:26:30 by simonpj]
Complete the hack that lets us give 'error' the type
error :: forall a:?. String -> a
The kind '?' (also known as 'Type AnyBox') means that
error can be applied to unboxed types too. unsafeCoerce is
similar. But the 'real' type of error is:
error :: forall bv. forall a:Type bv. String -> a
That is, it's really polymorphic in the boxity of a; that's
different to saying that the type bound to 'a' must have
kind '?'.
The fix was in TcType.inst_tyvar, where we look for the kind '?'
and generate a boxity variable instead. Sigh.