--------------------------
Fix an obscure but long-standing bug in Type.applyTys
--------------------------
The interesting case, which previously killed GHC 6.0, is this
applyTys (forall a.a) [forall b.b, Int]
This really can happen, via dressing up polymorphic types with newtype
clothing. Here's an example:
newtype R = R (forall a. a->a)
foo = case undefined :: R of
Test simplCore/should_compile/simpl0009 uses this as a test case.