Another round of External Core fixes
With this patch, GHC should now be printing External Core in a format
that a stand-alone program can parse and typecheck. Major bug fixes:
- The printer now handles qualified/unqualified declarations correctly
(particularly data constructor declarations)
- It prints newtype declarations with enough information to
typecheck code that uses the induced coercions (this required a
syntax change)
- It expands type synonyms correctly
Documentation and external tool patches will follow.