def METHOD_NAME(nodes):
    """Return the highest precedence type from the passed expressions.
    Also verifies that there are valid implicit casts between any of the types
    and the selected highest precedence type.
    This is a thin wrapper around datatypes highest precedence check.
    Parameters
    ----------
    nodes : Iterable[ops.Value]
      A sequence of Expressions
    Returns
    -------
    dtype: DataType
      The highest precedence datatype
    """
    return dt.highest_precedence(node.dtype for node in nodes)