Instance match failure on openTypeKind
Consider instance Show (a->b) where ... foo x = show (\ _ -> True) This fails with: No instance for (Show (t -> Bool)) arising from use of `show' at Foo.hs:5 Reason: the type of (\_ -> True) is (t -> Bool) where t has an "openTypeKind". It's possible that the function will be applied to say an Int#, and the openTypeKind records that this is OK. BUT, the instance decl Show (a->b) has a::liftedTypeKind, and that doesn't match an openTypeKind type variable. This bug relates to GHC's unsatisfactory treatment of the variants of kind "type", for which there are at least 2 other SourceForge bugs registered (753780 and 753777). It's very obscure, so I'm not going to fix it today.