def isscalar(x: ndarray | npt.NDArray[Any]) -> bool:
    """

    Returns True if the type of `element` is a scalar type.

    Parameters
    ----------
    element : any
        Input argument, can be of any type and shape.

    Returns
    -------
    val : bool
        True if `element` is a scalar type, False if it is not.

    See Also
    --------
    numpy.isscalar

    Notes
    -----
    This function falls back to NumPy for all object types but cuPyNumeric's
    ndarray, which always returns `False`.

    Availability
    --------
    Multiple GPUs, Multiple CPUs
    """

    # Since the input can be any value, we can't just convert it to cupynumeric
    # ndarray. Instead we check if the input is cupynumeric ndarray and, if
    # not, fall back to Numpy
    if isinstance(x, ndarray):
        return False
    else:
        return np.isscalar(x)


    Returns True if the type of `element` is a scalar type.

    Parameters
    ----------
    element : any
        Input argument, can be of any type and shape.

    Returns
    -------
    val : bool
        True if `element` is a scalar type, False if it is not.

    See Also
    --------
    numpy.isscalar

    Notes
    -----
    This function falls back to NumPy for all object types but cuPyNumeric's
    ndarray, which always returns `False`.

    Availability
    --------
    Multiple GPUs, Multiple CPUs
    
cupynumeric/_module/logic_array_type.py