Haskell read/show of "something-separated values", CSV in particular