fn bit_width(data_type: &DataType, i: usize) -> Result<usize, ArrowError>
returns the number of bits that buffer i (in the C data interface) is expected to have. This is set by the Arrow specification
i