def METHOD_NAME(
    *args: npt.NDArray[np.complex64],
) -> npt.NDArray[np.complex64]:
    """Returns the Kronecker product of the input array-like arguments.
    This is a generalization of the binary function
    ``numpy.kron(arg_a, arg_b)`` to the case of an arbitrary number of
    arguments.
    """
    if args == ():
        raise TypeError("tensor_product() requires at least one argument.")
    val = args[0]
    for term in args[1:]:
        val = np.kron(val, term)
    return val