src/QCheck/Generator.php
public static function tuples()
    {
        $seq = self::sequence(self::getArgs(func_get_args()));
        return $seq->bindGen(function ($roses) {
            return self::pureGen(RoseTree::zip(FP::args(), $roses));
        });
    }
public static function tuples()
    {
        $seq = self::sequence(self::getArgs(func_get_args()));
        return $seq->bindGen(function ($roses) {
            return self::pureGen(RoseTree::zip(FP::args(), $roses));
        });
    }
public static function tuples ( ) { $ seq = self :: sequence ( self :: getArgs ( func_get_args ( ) ) ) ; return $ seq -> bindGen ( function ( $ roses ) { return self :: pureGen ( RoseTree :: zip ( FP :: args ( ) , $ roses ) ) ; } ) ; }
creates a new generator that returns an array whose elements are chosen
from the list of given generators. Individual elements shrink according to
their generator but the array will never shrink in count.

Accepts either a variadic number of args or a single array of generators.

Example:
Gen::tuples(Gen::booleans(), Gen::ints())
Gen::tuples([Gen::booleans(), Gen::ints()])

@return Generator
creates a new generator that returns an array whose elements are chosen from the list of given generators . Individual elements shrink according to their generator but the array will never shrink in count .