genericArbitrary -package:generic-random

Create a arbitrary generator for a specified a type in a naive way. Please be careful when using this function, particularly for recursive types.
Newtype for DerivingVia Usage:
data Foo = Foo
{ _fooX :: X
, _fooY :: Y
} deriving (Generic)
deriving (Arbitrary) via GenericArbitrary Foo