code: def get_decl_and_access_for_kind(
      name: str, kind: ArgumentKind
  ) -> Tuple[str, str]:
      if kind == ArgumentKind.ARRAY:
          return f"*{name}", f"{name}[i]"
      elif kind == ArgumentKind.SCALAR:
          return f"{name}", name
      elif kind == ArgumentKind.DEV_SCALAR:
          return f"*{name}", f"{name}[0]"
      else:
          raise AssertionError()
  
imports: import enum
  from typing import Any, List, Optional, Tuple, Union
  import numpy
  import pyopencl
  from pyopencl.tools import context_dependent_memoize
  from pyopencl.tools import dtype_to_ctype, DtypedArgument, VectorArg, ScalarArg, KernelTemplateBase, dtype_to_c_struct
  from pytools import memoize_method
label_desc: Use image node_id 5 for calling a global function with example usage: get_decl_and_access_for_kind(name, kind) and returns: str, name,  name, str, name,  name, str, name,  name, str