
{{alias}}( arr, ndims )
    Returns an iterator which iterates over interleaved subarrays.

    For input ndarrays supporting read-only views, the function returns
    *read-only* views of interleaved subarrays. As input ndarrays may be
    broadcasted, a view is typically *not* contiguous. As more than one element
    of a returned view may refer to the same memory location, writing to a view
    may affect multiple elements. If you need to write to a subarray, copy the
    subarray before attempting mutation.

    The function throws an error if a provided broadcast-incompatible ndarrays.

    If an environment supports Symbol.iterator, the returned iterator is
    iterable.

    If an environment supports Symbol.iterator, the function explicitly does not
    invoke an ndarray's `@@iterator` method, regardless of whether this method
    is defined.

    Parameters
    ----------
    arr: ArrayLike<ndarray>
        Input ndarrays. All ndarrays must be broadcast-compatible. After
        broadcasting, each broadcasted input ndarray must have at least
        `ndims+1` dimensions.

    ndims: integer
        Number of dimensions to stack after broadcasting.

    Returns
    -------
    iterator: Object
        Iterator.

    iterator.next(): Function
        Returns an iterator protocol-compliant object containing the next
        iterated value (if one exists) and a boolean flag indicating whether the
        iterator is finished.

    iterator.return( [value] ): Function
        Finishes an iterator and returns a provided value.

    Examples
    --------
    > var x = {{alias:@stdlib/ndarray/array}}( [ [ [ 1, 2 ], [ 3, 4 ] ] ] );
    > var it = {{alias}}( [ x, x ], 2 );
    > var v = it.next().value;
    > {{alias:@stdlib/ndarray/to-array}}( v )
    [ [ 1, 2 ], [ 3, 4 ] ]

    See Also
    --------

