A linguagem principal do Haskell é realmente simples. Vindo de uma experiência OO, a principal dificuldade é se adaptar ao paradigma funcional puro.
Enquanto aprendia Haskell "básico", sempre considerei as extensões de linguagem como brinquedos para as pessoas de CS ou como experimentos para futuras versões da linguagem (como from future import ???
em python).
No entanto, quando comecei a olhar para estruturas da web como o Yesod, percebo que muitos arquivos de origem exigem entre 3 e 4 extensões. Alguns parecem bastante simples (StringOverload). Outros são realmente intimidadores (GADT, Famílias de tipos, Modelo Haskell). A documentação deles tem links para trabalhos de pesquisa, o que é assustador para quem espera aprender "apenas" uma nova biblioteca.
É necessário aprender as extensões de idioma do GHC para serem produtivas em Haskell? Se você fosse contratar um desenvolvedor Haskell para um aplicativo de produção, solicitaria esse conhecimento?