A runtime-subcriptable alias has been added for `ndarray`
---------------------------------------------------------
`numpy.typing.NDArray` has been added, a runtime-subscriptable alias for
``np.ndarray[Any, np.dtype[~Scalar]]``. The new type alias can be used
for annotating arrays with a given dtype and unspecified shape. :sup:`1`

:sup:`1` NumPy does not support the annotating of array shapes as of 1.21,
this is expected to change in the future though (see :pep:`646`).

Examples
~~~~~~~~

.. code-block:: python

    >>> import numpy as np
    >>> import numpy.typing as npt

    >>> print(npt.NDArray)
    numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]

    >>> print(npt.NDArray[np.float64])
    numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]

    >>> NDArrayInt = npt.NDArray[np.int_]
    >>> a: NDArrayInt = np.arange(10)

    >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]:
    ...     return np.array(a)

Add a release note for `npt.NDArray`
REL: Add a release note for `npt.NDArray`
