def diagnose(
        self, name: str, args: tuple[Any, ...], kwargs: dict[str, Any]
    ) -> None:
        """
        Run cuPyNumeric Doctor heuristic checks on the current cuPyNumeric
        funtion invocation.

        Results are collected throughout execution. Call the ``output`` method
        to generate output for the results according to the current settings.

        Args:
            name (str):
                Name of the function being invoked
            args (tuple):
                Any positional arguments the function is being called with
            kwargs (dict):
                Any keyword arguments the function is being called with

        Returns:
            None

        """
        for check in self.checks:
            if info := check.run(name, args, kwargs):
                self._results.append(info)

        Run cuPyNumeric Doctor heuristic checks on the current cuPyNumeric
        funtion invocation.

        Results are collected throughout execution. Call the ``output`` method
        to generate output for the results according to the current settings.

        Args:
            name (str):
                Name of the function being invoked
            args (tuple):
                Any positional arguments the function is being called with
            kwargs (dict):
                Any keyword arguments the function is being called with

        Returns:
            None

        
cupynumeric/_array/doctor.py