function assign( x, n, y, stride, offset ) {
	var xo = arraylike2object( x );
	var yo = arraylike2object( y );
	if (
		xo.accessorProtocol ||
		yo.accessorProtocol
	) {
		// If provided a complex number array, reinterpret as a real typed array and test interleaved real and imaginary components, where we consider a complex number to be truthy if at least one component is non-zero...
		if ( isComplex128Array( x ) ) {
			return complex( reinterpret128( x, 0 ), n, yo, stride, offset );
		}
		if ( isComplex64Array( x ) ) {
			return complex( reinterpret64( x, 0 ), n, yo, stride, offset );
		}
		if ( isBooleanArray( x ) ) {
			return boolean( reinterpretBoolean( x, 0 ), n, yo, stride, offset );
		}
		return accessors( xo, n, yo, stride, offset );
	}
	indexed( x, n, y, stride, offset );
	return y;
}
Cumulatively tests whether at least `n` array elements in a provided array are truthy and assigns results to a provided output array.

@param {Collection} x - input array
@param {integer} n - number of elements
@param {Collection} y - output array
@param {integer} stride - output array stride
@param {NonNegativeInteger} offset - output array offset
@returns {Collection} output array

@example
var x = [ false, false, false, true, true ];
var y =  [ false, null, false, null, false, null, false, null, false, null ];

var out = assign( x, 2, y, 2, 0 );
// returns [ false, null, false, null, false, null, false, null, true, null ]

var bool = ( y === out );
// returns true