Fail earlier if there's an error in a type declaration
This change means that we don't recover from erroneous type declarations, thereby reporting fewer errors. But trying to recover confused GHC (leading to a pattern match failure in the compiler Trac #7175), and it turned out to be tricky to fix that. So this patch takes the more conservative path of failing earlier, perhaps reporting fewer real errors.
Showing with 4 additions and 3 deletions