code: def inject_dtype(dtype):
      def inner(func):
          @wraps(func)
          def call(*tensors, **kw):
              kw["dtype"] = np.dtype(dtype)
              ret = func(*tensors, **kw)
              if ret is NotImplemented:
                  reverse_func = getattr(
                      inspect.getmodule(func), f"r{func.__name__}", None
                  )
                  if reverse_func is not None:
                      ret = reverse_func(*tensors[::-1], **kw)
                  if ret is NotImplemented:
                      raise TypeError(
                          "unsupported operand type(s) for {0}: '{1}' and '{2}".format(
                              func.__name__, *[type(t) for t in tensors]
                          )
                      )
              return ret
  
          return call
  
      return inner
  
imports: import inspect
  import itertools
  import operator
  from collections import OrderedDict
  from collections.abc import Iterable
  from functools import lru_cache, reduce, wraps
  from math import ceil
  from numbers import Integral
  from typing import Dict, List, Union
  import numpy
  from ..core import ExecutableTuple, recursive_tile
  from ..utils import lazy_import
  from ..lib.mmh3 import hash_from_buffer
label_desc: Use image node_id 9 for calling a global function with example usage: inject_dtype(dtype) and returns: inner, call, ret