For Quickcheck overview see: http://docs/programming/unit-testing/quickcheck.html
seed specifies how to initialize a pseudo-random number generator. When multiple
tests share a deterministic seed, they each get a separate copy of the random
generator's state; random choices in one test do not affect those in another. The
nondeterministic seed causes a fresh random state to be generated nondeterministically
for each test.