I have never touched template haskell.
OverloadedStrings is one of the few extensions you'll see everywhere, but there's nothing to remember about it. It's really the kind of thing you'll understand in 10s and find obvious forever after.
> If the answers to that list were enabled by default in the language, and most Haskellers agreed on them, there really wouldn't be much complaint
Here is the thing: just moving all the extensions into the language and removing the pragma would basically mean there would still be the same amount of things in the language, but with no convenient way to know what's used in a specific file, and it would be hard to research that topic which you don't know.
Extensions are great in that they force devs to label files with searchable names for the concepts they use in the code.
> A newcomer wouldn't know that some of them are required reading and others aren't and not know which is which.
A newcomer, just like a seasoned haskeller, shouldn't bother learning new extensions if they're not about to use them. That's the way to go forward.