Haskell core language is really simple. Coming from an OO background, the main difficulty is to adapt to the pure functional paradigm.
While learning "basic" Haskell, I have always considered language extensions as toys for CS people or as experiments for future versions of the language (like
from future import ??? in python).
However when I began to look at web frameworks such as Yesod, I find that a lot of source files require between 3 & 4 extensions. Some look quite simple (StringOverload). Other are really intimidating (GADT, Type Famillies, Template Haskell). Their documentation links to research papers, which is scary for someone expecting to learn "just" a new library.
Is it necessary to learn GHC language extensions to be productive in Haskell? If you were to hire a Haskell developer for a production application, would you ask for such knowledge?