[project @ 2002-03-12 09:13:08 by simonpj]
----------- Fix mkSynTy ----------- Fix a nasty and long-lived bug in mkSynTy which meant that in: newtype A a = A a type B = A f :: B Double the type (B Double) wasn't regarded properly as (A Double). This bug has lasted for a long time because the type inference engine is fairly forgiving about missing the invariant that a TyConApp always looks like one right at the top level. In fact, it's so forgiving that I don't know how to tickle this bug into showing up. (It showed up in 5.02, becuase the context-simplification for 'deriving' is done by a different engine as all the other context simplification.) Still, the invariant should hold, and this fix makes it so.