A HL7 parser in Haskell