fn duration_op<T: ArrowPrimitiveType>( op: Op, l: &dyn Array, l_s: bool, r: &dyn Array, r_s: bool, ) -> Result<ArrayRef, ArrowError>