Выглядит нормально для меня. Это будет работать для ваших мелких CSV (под пару тысяч строк).
Когда мне пришлось tp анализировать огромные CSV-файлы (100 тыс. Строк +) - я использовал модуль Cassava, который долгое время выполнял нативные модули.
Взгляните на http://hackage.haskell.org/package/cassava
Надеюсь это поможет