static P.Any upcastOne(P.Any value, P.Any other) => value switch {
private static bool tryCoerce(ref P.Any left, ref P.Any right) { left = upcastOne(left, right); right = upcastOne(right, left); return(left.GetType() == right.GetType());