[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.