A monad for building quickcheck properties