rematch is an haskell library for composable assertions with good error messages
cabal install rematch
(though you should really be using cabal-dev)
http://hackage.haskell.org/package/rematch
http://hackage.haskell.org/package/rematch-text
This library is written and maintained by Tom Crayford, tcrayford@gmail.com.