Some csv parsing a la Real World Haskell