<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def highest_precedence_dtype(exprs):
 """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 exprs : Iterable[ir.ValueExpr] A sequence of Expressions Returns ------- dtype: DataType The highest precedence datatype """

    if not exprs:
        raise ValueError('Must pass at least one expression')

    return dt.highest_precedence(expr.type() for expr in exprs)