Haskell seems to be used with projects that are heavy on parsing (shellcheck, pandoc, graphql). I think that's partly because there just isn't a parser generator that feels right for general purpose languages, with haskell you seem to have less of a mismatch between the parser itself and handling of the parse tree. Is that a correct impression?