abusing quickcheck :D