I'm studying Haskell for the purpose of understanding functional programming, with the expectation that I'll apply the insight that I gain in other languages (Groovy, Python, JavaScript mainly.)
I choose Haskell because I had the impression that it is very purely functional, and wouldn't allow for any reliance on state.
I did not choose to learn Haskell because I was interested in navigating an extremely rigid type system.
My question is this: Is a strong type system a necessary by-product of an extremely pure functional language, or is this an unrelated design choice particular to Haskell?