function binarynd( arrays, shape, fcn ) {
	return recurse( arrays[ 0 ], arrays[ 1 ], arrays[ 2 ], shape.length, shape, 0, fcn ); // eslint-disable-line max-len
}
Applies a binary callback to elements in two n-dimensional nested input arrays and assigns results to elements in an n-dimensional nested output array.

## Notes

-   The function assumes that the input and output arrays have the same shape.

@param {ArrayLikeObject} arrays - array-like object containing two input nested arrays and one output nested array
@param {NonNegativeIntegerArray} shape - array shape
@param {Callback} fcn - binary callback
@returns {void}

@example
var add = require( '@stdlib/number/float64/base/add' );
var onesnd = require( '@stdlib/array/base/onesnd' );
var zerosnd = require( '@stdlib/array/base/zerosnd' );

var shape = [ 2, 2 ];

var x = onesnd( shape );
var y = onesnd( shape );
var z = zerosnd( shape );

binarynd( [ x, y, z ], shape, add );

console.log( z );
// => [ [ 2.0, 2.0 ], [ 2.0, 2.0 ] ]