ported the haskell quickcheck properties to python