fun <A, B : A> Gen<A>.merge(other: Gen<B>): Gen<A>
Returns a new Gen which will merge the values from this gen and the values of the supplied gen together, taking one from each in turn.
In other words, if genA provides 1,2,3 and genB provides 7,8,9 then the merged gen would output 1,7,2,8,3,9.
The supplied gen must be a subtype of the type of this gen.
other - the arg to merge with this one
Return
the merged arg.