Instances

I used Template Haskell to generate QuickCheck properties for the intersection of instances satisfying `(SafeCopy a, Arbitrary a, Eq a, Show a)`.  For now I'm only testing concrete types (skipping any instances that contain further constraints) but this alone resulted in 34 properties that already found a buggy instance that I fixed.