code: def common_dtype(args_list, dtype_hint=None):
      """Returns explict dtype from `args_list` if exists, else dtype_hint."""
      dtype = None
      seen = []
      for a in nest.flatten(args_list):
          if hasattr(a, "dtype"):
              dt = a.dtype
              seen.append(dt)
          else:
              seen.append(None)
              continue
          if dtype is None:
              dtype = dt
          elif dtype != dt:
              raise TypeError(
                  "Found incompatible dtypes, {} and {}. Seen so far: {}".format(
                      dtype, dt, seen
                  )
              )
      if dtype is None and dtype_hint is None:
          return None
      return dtype_hint if dtype is None else dtype
  
file_path: probability/tensorflow_probability/python/internal/backend/numpy/_utils.py
imports: import functools
  import importlib
  import types
  import numpy
  from tensorflow_probability.python.internal.backend.numpy import nest
label_desc: Use image node_id 4 for calling a global function with example usage: common_dtype(args_list, dtype_hint) and returns: unknown, None