The test suite in tests/Tests.hs was using `mapM_ quickCheck` to test a series of QuickCheck properties. If one of the properties failed, the failure would printed to stdout, and when the end of main was reached, zero ("success") would be returned. This made it difficult to automate the test suite. This commit uses 'quickCheckResult' instead of 'quickCheck' to test the properties. The results are collected, and if any of them are not 'Success', then we exit with an "error" code of 1. If all of the results are 'Success', we exit normally (exitSuccess).
This comes from the discussion of this pull request: #20 It was pointed out that fromList on the containers will do the same check internally that the pull request implements, so it seemed sensible to just use that instead of replicate its functionality here.