What's so bad about Template Haskell?

Parece que Template Haskell a menudo es visto por la comunidad de Haskell como una conveniencia desafortunada. Es difícil poner en palabras exactamente lo que he observado al respecto, pero considere estos pocos ejemplos.

La plantilla Haskell aparece en "El feo (pero necesario)" en respuesta a la pregunta¿Qué extensiones Haskell (GHC) deben usar / evitar los usuarios?Plantilla Haskell consideró una solución temporal / inferior enVectores sin caja de valores newtype'd hilo (lista de correo de bibliotecas)Yesod es a menudo criticado por confiar demasiado en la plantilla Haskell (verla entrada del blog en respuesta a este sentimiento)

He visto varias publicaciones de blog en las que la gente hace cosas muy buenas con Template Haskell, lo que permite una sintaxis más bonita que simplemente no sería posible en Haskell normal, así como una tremenda reducción de la plantilla. Entonces, ¿por qué es que la plantilla Haskell es menospreciada de esta manera? ¿Qué lo hace indeseable? ¿En qué circunstancias debe evitarse Template Haskell y por qué?

Respuestas a la pregunta(6)

Su respuesta a la pregunta