pub fn apply_binary_kernel_broadcast_owned<L, R, O, K, LK, RK>(
    lhs: ChunkedArray<L>,
    rhs: ChunkedArray<R>,
    kernel: K,
    lhs_broadcast_kernel: LK,
    rhs_broadcast_kernel: RK
) -> ChunkedArray<O>
where L: PolarsDataType, R: PolarsDataType, O: PolarsDataType, K: Fn(L::Array, R::Array) -> O::Array, for<'a> LK: Fn(L::Physical<'a>, R::Array) -> O::Array, for<'a> RK: Fn(L::Array, R::Physical<'a>) -> O::Array,