I am not that sure of internal workings and if that is possible, but it would be nice if forAllDL returned PropertyM value. That way one could mix it with other kind of monadic Quickcheck code, like custom initialization and finalization more easily.