We can use the Arbitrary implementation for the components of Person to create the Arbitrary for Person
instance Arbitrary Person where
arbitrary = arbitrary >>= \a ->
arbitrary >>= \f ->
arbitrary >>= \s ->
arbGender >>= \g ->
return (P a f s g)
coarbitrary = undefined -- todo another day