Estoy estudiando Haskell con el propósito de comprender la programación funcional, con la expectativa de que aplique la información que obtengo en otros idiomas (Groovy, Python, JavaScript principalmente).
Elegí Haskell porque tenía la impresión de que es muy puramente funcional y no permitiría depender del estado.
No elegí aprender Haskell porque estaba interesado en navegar en un sistema de tipo extremadamente rígido.
Mi pregunta es la siguiente: ¿Es un sistema de tipo fuerte un subproducto necesario de un lenguaje funcional extremadamente puro, o esta es una elección de diseño no relacionada en particular para Haskell?