I'm several days into a simple Haskell side project, and it's been very tricky. Haskell has five common string datatypes, plus others!