functors for all parts of quickcheck value generation
reorg