The Haskell type system bothers me
A type is a set of values. Earlier, I discussed how I had to do programming on something that was no more than a list whose elements were "consed" together via carriage returns:
"item 1\nitem2\nitem 3"
While I did manage to write an implementation of
lines, the Haskell type system is reknowned for forcing programmers to describe their data up front.
But, the Haskell type system did not interpret my string as a list for me.
Sometimes the static typing language just doesn't have the types necessary to express the conditions on code which the programmer would want to express, and sometimes adding those additional types will either spoil type-inference, or make the problem of proving that a program satisfies its types much harder, or even make it outright impossible for the compiler to do for itself.
In reflection, I suppose I could resort to Parsec to produce a list for me.