My first language was Racket and so naturally I gravitated to the lispy untyped functional programming style even when I was using languages like Python or Java, but when I tried Haskell for the first time my mind was absolutely blown and I was a convert ever since. What are your thoughts?
I also started my FP journey with untyped languages. Finding Haskell changed my perspective because it answered questions I hadn’t yet been able to clearly articulate to myself.
That said, I do sympathize with the criticism that static types can make some things harder to use. I think it’s because we’re not yet doing everything right, but the reality is that some, say, Python APIs are faster to get going with than comparable things in Haskell.
On a side note, the book “Functional Programming in C#” has good sideline explanations for what one is missing out on by using a type system that was designed for OO instead of FP.