pub fn broadcast_try_binary_elementwise<T, U, V, F, K, E>(
    lhs: &ChunkedArray<T>,
    rhs: &ChunkedArray<U>,
    op: F
) -> Result<ChunkedArray<V>, E>
where T: PolarsDataType, U: PolarsDataType, V: PolarsDataType, F: for<'a> FnMut(Option<T::Physical<'a>>, Option<U::Physical<'a>>) -> Result<Option<K>, E>, V::Array: ArrayFromIter<Option<K>>,