[Haskell] Testing polymorphic properties with QuickCheck