derivation of QuickCheck instances for tests !!!!!