Describing and interpreting music in Haskell