Work around broken Positive instance in QuickCheck

--HG--
extra : rebase_source : 94683c1eb50dc3a1b6223cb0ef1788523ec5212e
extra : histedit_source : 78bbc783bfd3e1e060a19ed5db7b270742e4db50
Improve run time of test suite

With +RTS -N on an 8-core Mac, this improves wallclock time from
53 seconds to 31.

--HG--
extra : rebase_source : c653b87559e9438f4b6226f945d9bac22fb0ca37
extra : histedit_source : 65f5a77ba1d0e31e8ae0fbd514c79bb0ff6684a4
Implement checked multiplication for non-negative integers

This is a building block for gh-81.

--HG--
extra : amend_source : 83f1822fb6519becf548c19f74a9716dd00657f0
extra : histedit_source : 4d4b35eb9b7bd9f1ef294ca8afb76716211ed61d%2C4f5c1c3951ff68c503a5f92be6999e2d8a4c74ab
Benchmark the various checked multiplication methods

Progress towards gh-81.

--HG--
extra : rebase_source : 0559da50e2b5d43f46e4c4baa9f4b5457e8781da
extra : amend_source : 1c20c33aa19bece776361953371efc46d0ec236e
extra : histedit_source : a7aba7dd23ae5f886fd41e3f0856da129165c878
Switch to new mul function for Size
Use mul for replace, to avoid overflow

This fixes gh-81.
Use mul instead of a more expensive check for replicate