Arbitrary Person

The type checker is asking for an instance of the Arbitrary type-class for Person

Introducing some very interesting functions

(>>=) :: Gen a -> (a -> Gen b) -> Gen b
return :: t -> Gen t