quickcheck annotation and generator