code: def handle_tf_dtype(fn: Callable) -> Callable:
      @functools.wraps(fn)
      def _handle_tf_dtype(*args, dtype=None, **kwargs):
          if len(args) > (dtype_pos + 1):
              dtype = args[dtype_pos]
              kwargs = {
                  **dict(
                      zip(
                          list(inspect.signature(fn).parameters.keys())[
                              dtype_pos + 1 : len(args)
                          ],
                          args[dtype_pos + 1 :],
                      )
                  ),
                  **kwargs,
              }
              args = args[:dtype_pos]
          elif len(args) == (dtype_pos + 1):
              dtype = args[dtype_pos]
              args = args[:-1]
          if dtype is not None:
              dtype = to_ivy_dtype(dtype)
              return fn(*args, dtype=dtype, **kwargs)
          return fn(*args, **kwargs)
  
      dtype_pos = list(inspect.signature(fn).parameters).index("dtype")
      _handle_tf_dtype.handle_tf_dtype = True
      return _handle_tf_dtype
  
file_path: ivy/ivy/functional/frontends/tensorflow/func_wrapper.py
imports: import inspect
  from typing import Callable, Dict, Optional
  import functools
  import ivy
  import ivy.functional.frontends.tensorflow
  import ivy.functional.frontends.numpy
label_desc: Use image node_id 6 for calling a global function with example usage: handle_tf_dtype(fn) and returns: _handle_tf_dtype, fn, fn