function recurse( shape, arr ) {
	var v = arr[ 0 ];
	if ( isArrayLikeObject( v ) ) {
		shape.push( v.length );
		recurse( shape, v );
	}
	return shape;
}
Recursively (and eagerly) attempts to resolve nested array dimensions.

@private
@param {Array} shape - output array
@param {ArrayLikeObject} arr - array
@returns {Array} shape array