code: def least_upper_dtype(*ds: DType) -> DType:
      return (
          min(
              set.intersection(*[_get_recursive_parents(d) for d in ds])
          )
          if not (
              images := [d for d in ds if isinstance(d, ImageDType)]
          )
          else images[0]
      )
  
imports: from typing import Final, Optional, ClassVar, Set, Tuple, Dict
  from dataclasses import dataclass
  import numpy
  import functools
label_desc: Use image node_id 2 for calling a global function with example usage: least_upper_dtype() and returns: unknown