For someone who is not too familiar with the Clojure world, how does this compare to test.generative[1] (which I heard about in a talk[2] about Simulant[3])?
QuickCheck (and SimpleCheck) have the ability to narrow the data being tested to attempt to find a problem. So where test.generative will say "This function failed when passed 42", QuickCheck will say "This function failed, we've narrowed down the range of unacceptable inputs to 40, 41-43 and 45".
[1] https://github.com/clojure/test.generative
[2] http://www.infoq.com/presentations/Simulation-Testing
[3] https://github.com/Datomic/simulant