You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2024/05/29 10:40:45 UTC

(arrow-rs) branch asf-site updated: deploy: 12f57af595524d532d72a77bb4f096c204d4f2a3

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 4ff8bf93b1b deploy: 12f57af595524d532d72a77bb4f096c204d4f2a3
4ff8bf93b1b is described below

commit 4ff8bf93b1bf65aea3aec788aae959b903ac16f2
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Wed May 29 10:40:40 2024 +0000

    deploy: 12f57af595524d532d72a77bb4f096c204d4f2a3
---
 arrow/array/trait.RecordBatchReader.html           |  6 ++--
 arrow/array/trait.RecordBatchWriter.html           |  6 ++--
 arrow/index.html                                   |  6 ++--
 arrow/record_batch/trait.RecordBatchReader.html    |  6 ++--
 arrow/record_batch/trait.RecordBatchWriter.html    |  6 ++--
 .../arithmetic/trait.ArrowNativeTypeOp.html        | 30 ++++++++--------
 .../array/binary_array/type.BinaryArray.html       |  4 +--
 .../binary_array/type.GenericBinaryArray.html      |  4 +--
 .../array/binary_array/type.LargeBinaryArray.html  |  4 +--
 .../array/boolean_array/struct.BooleanArray.html   |  4 +--
 .../array/byte_array/struct.GenericByteArray.html  | 16 ++++-----
 .../struct.GenericByteViewArray.html               | 12 +++----
 .../byte_view_array/type.BinaryViewArray.html      |  4 +--
 .../byte_view_array/type.StringViewArray.html      |  4 +--
 .../dictionary_array/struct.DictionaryArray.html   | 14 ++++----
 .../struct.TypedDictionaryArray.html               |  2 +-
 .../type.Int16DictionaryArray.html                 |  4 +--
 .../type.Int32DictionaryArray.html                 |  4 +--
 .../type.Int64DictionaryArray.html                 |  4 +--
 .../dictionary_array/type.Int8DictionaryArray.html |  4 +--
 .../type.UInt16DictionaryArray.html                |  4 +--
 .../type.UInt32DictionaryArray.html                |  4 +--
 .../type.UInt64DictionaryArray.html                |  4 +--
 .../type.UInt8DictionaryArray.html                 |  4 +--
 .../struct.FixedSizeBinaryArray.html               | 16 ++++-----
 .../struct.FixedSizeListArray.html                 | 20 +++++------
 arrow_array/array/fn.get_offsets.html              |  2 +-
 arrow_array/array/fn.make_array.html               |  2 +-
 arrow_array/array/fn.new_empty_array.html          |  2 +-
 arrow_array/array/fn.new_null_array.html           |  2 +-
 arrow_array/array/index.html                       |  2 +-
 .../array/list_array/struct.GenericListArray.html  | 26 +++++++-------
 .../array/list_array/type.LargeListArray.html      |  4 +--
 arrow_array/array/list_array/type.ListArray.html   |  4 +--
 arrow_array/array/map_array/struct.MapArray.html   | 24 ++++++-------
 arrow_array/array/null_array/struct.NullArray.html |  6 ++--
 .../primitive_array/struct.PrimitiveArray.html     | 24 ++++++-------
 .../array/primitive_array/type.Date32Array.html    |  4 +--
 .../array/primitive_array/type.Date64Array.html    |  4 +--
 .../primitive_array/type.Decimal128Array.html      |  4 +--
 .../primitive_array/type.Decimal256Array.html      |  4 +--
 .../type.DurationMicrosecondArray.html             |  4 +--
 .../type.DurationMillisecondArray.html             |  4 +--
 .../type.DurationNanosecondArray.html              |  4 +--
 .../primitive_array/type.DurationSecondArray.html  |  4 +--
 .../array/primitive_array/type.Float16Array.html   |  4 +--
 .../array/primitive_array/type.Float32Array.html   |  4 +--
 .../array/primitive_array/type.Float64Array.html   |  4 +--
 .../array/primitive_array/type.Int16Array.html     |  4 +--
 .../array/primitive_array/type.Int32Array.html     |  4 +--
 .../array/primitive_array/type.Int64Array.html     |  4 +--
 .../array/primitive_array/type.Int8Array.html      |  4 +--
 .../primitive_array/type.IntervalDayTimeArray.html |  4 +--
 .../type.IntervalMonthDayNanoArray.html            |  4 +--
 .../type.IntervalYearMonthArray.html               |  4 +--
 .../type.Time32MillisecondArray.html               |  4 +--
 .../primitive_array/type.Time32SecondArray.html    |  4 +--
 .../type.Time64MicrosecondArray.html               |  4 +--
 .../type.Time64NanosecondArray.html                |  4 +--
 .../type.TimestampMicrosecondArray.html            |  4 +--
 .../type.TimestampMillisecondArray.html            |  4 +--
 .../type.TimestampNanosecondArray.html             |  4 +--
 .../primitive_array/type.TimestampSecondArray.html |  6 ++--
 .../array/primitive_array/type.UInt16Array.html    |  4 +--
 .../array/primitive_array/type.UInt32Array.html    |  4 +--
 .../array/primitive_array/type.UInt64Array.html    |  4 +--
 .../array/primitive_array/type.UInt8Array.html     |  4 +--
 arrow_array/array/run_array/struct.RunArray.html   | 12 +++----
 .../array/run_array/struct.TypedRunArray.html      |  2 +-
 .../array/run_array/type.Int16RunArray.html        |  4 +--
 .../array/run_array/type.Int32RunArray.html        |  4 +--
 .../array/run_array/type.Int64RunArray.html        |  4 +--
 .../string_array/type.GenericStringArray.html      |  6 ++--
 .../array/string_array/type.LargeStringArray.html  |  4 +--
 .../array/string_array/type.StringArray.html       |  4 +--
 arrow_array/array/struct.BooleanArray.html         |  4 +--
 arrow_array/array/struct.DictionaryArray.html      | 14 ++++----
 arrow_array/array/struct.FixedSizeBinaryArray.html | 16 ++++-----
 arrow_array/array/struct.FixedSizeListArray.html   | 20 +++++------
 arrow_array/array/struct.GenericByteArray.html     | 16 ++++-----
 arrow_array/array/struct.GenericByteViewArray.html | 12 +++----
 arrow_array/array/struct.GenericListArray.html     | 26 +++++++-------
 arrow_array/array/struct.MapArray.html             | 24 ++++++-------
 arrow_array/array/struct.NullArray.html            |  6 ++--
 arrow_array/array/struct.PrimitiveArray.html       | 24 ++++++-------
 arrow_array/array/struct.RunArray.html             | 12 +++----
 arrow_array/array/struct.StructArray.html          | 28 +++++++--------
 arrow_array/array/struct.TypedDictionaryArray.html |  2 +-
 arrow_array/array/struct.TypedRunArray.html        |  2 +-
 arrow_array/array/struct.UnionArray.html           | 16 ++++-----
 .../array/struct_array/struct.StructArray.html     | 28 +++++++--------
 arrow_array/array/trait.Array.html                 | 14 ++++----
 arrow_array/array/type.ArrayRef.html               |  2 +-
 arrow_array/array/type.BinaryArray.html            |  4 +--
 arrow_array/array/type.BinaryViewArray.html        |  4 +--
 arrow_array/array/type.Date32Array.html            |  4 +--
 arrow_array/array/type.Date64Array.html            |  4 +--
 arrow_array/array/type.Decimal128Array.html        |  4 +--
 arrow_array/array/type.Decimal256Array.html        |  4 +--
 .../array/type.DurationMicrosecondArray.html       |  4 +--
 .../array/type.DurationMillisecondArray.html       |  4 +--
 .../array/type.DurationNanosecondArray.html        |  4 +--
 arrow_array/array/type.DurationSecondArray.html    |  4 +--
 arrow_array/array/type.Float16Array.html           |  4 +--
 arrow_array/array/type.Float32Array.html           |  4 +--
 arrow_array/array/type.Float64Array.html           |  4 +--
 arrow_array/array/type.GenericBinaryArray.html     |  4 +--
 arrow_array/array/type.GenericStringArray.html     |  6 ++--
 arrow_array/array/type.Int16Array.html             |  4 +--
 arrow_array/array/type.Int16DictionaryArray.html   |  4 +--
 arrow_array/array/type.Int16RunArray.html          |  4 +--
 arrow_array/array/type.Int32Array.html             |  4 +--
 arrow_array/array/type.Int32DictionaryArray.html   |  4 +--
 arrow_array/array/type.Int32RunArray.html          |  4 +--
 arrow_array/array/type.Int64Array.html             |  4 +--
 arrow_array/array/type.Int64DictionaryArray.html   |  4 +--
 arrow_array/array/type.Int64RunArray.html          |  4 +--
 arrow_array/array/type.Int8Array.html              |  4 +--
 arrow_array/array/type.Int8DictionaryArray.html    |  4 +--
 arrow_array/array/type.IntervalDayTimeArray.html   |  4 +--
 .../array/type.IntervalMonthDayNanoArray.html      |  4 +--
 arrow_array/array/type.IntervalYearMonthArray.html |  4 +--
 arrow_array/array/type.LargeBinaryArray.html       |  4 +--
 arrow_array/array/type.LargeListArray.html         |  4 +--
 arrow_array/array/type.LargeStringArray.html       |  4 +--
 arrow_array/array/type.ListArray.html              |  4 +--
 arrow_array/array/type.StringArray.html            |  4 +--
 arrow_array/array/type.StringViewArray.html        |  4 +--
 arrow_array/array/type.Time32MillisecondArray.html |  4 +--
 arrow_array/array/type.Time32SecondArray.html      |  4 +--
 arrow_array/array/type.Time64MicrosecondArray.html |  4 +--
 arrow_array/array/type.Time64NanosecondArray.html  |  4 +--
 .../array/type.TimestampMicrosecondArray.html      |  4 +--
 .../array/type.TimestampMillisecondArray.html      |  4 +--
 .../array/type.TimestampNanosecondArray.html       |  4 +--
 arrow_array/array/type.TimestampSecondArray.html   |  6 ++--
 arrow_array/array/type.UInt16Array.html            |  4 +--
 arrow_array/array/type.UInt16DictionaryArray.html  |  4 +--
 arrow_array/array/type.UInt32Array.html            |  4 +--
 arrow_array/array/type.UInt32DictionaryArray.html  |  4 +--
 arrow_array/array/type.UInt64Array.html            |  4 +--
 arrow_array/array/type.UInt64DictionaryArray.html  |  4 +--
 arrow_array/array/type.UInt8Array.html             |  4 +--
 arrow_array/array/type.UInt8DictionaryArray.html   |  4 +--
 .../array/union_array/struct.UnionArray.html       | 16 ++++-----
 .../boolean_builder/struct.BooleanBuilder.html     |  2 +-
 .../struct.FixedSizeBinaryBuilder.html             |  2 +-
 .../struct.FixedSizeListBuilder.html               |  6 ++--
 arrow_array/builder/fn.make_builder.html           |  2 +-
 .../struct.GenericByteDictionaryBuilder.html       |  4 +--
 .../struct.GenericListBuilder.html                 |  6 ++--
 arrow_array/builder/index.html                     |  2 +-
 arrow_array/builder/map_builder/index.html         |  2 +-
 .../builder/map_builder/struct.MapBuilder.html     |  8 ++---
 .../builder/map_builder/struct.MapFieldNames.html  |  8 ++---
 .../primitive_builder/struct.PrimitiveBuilder.html | 10 +++---
 .../primitive_builder/type.Date32Builder.html      |  4 +--
 .../primitive_builder/type.Date64Builder.html      |  4 +--
 .../primitive_builder/type.Decimal128Builder.html  |  4 +--
 .../primitive_builder/type.Decimal256Builder.html  |  4 +--
 .../type.DurationMicrosecondBuilder.html           |  4 +--
 .../type.DurationMillisecondBuilder.html           |  4 +--
 .../type.DurationNanosecondBuilder.html            |  4 +--
 .../type.DurationSecondBuilder.html                |  4 +--
 .../primitive_builder/type.Float16Builder.html     |  4 +--
 .../primitive_builder/type.Float32Builder.html     |  4 +--
 .../primitive_builder/type.Float64Builder.html     |  4 +--
 .../primitive_builder/type.Int16Builder.html       |  4 +--
 .../primitive_builder/type.Int32Builder.html       |  4 +--
 .../primitive_builder/type.Int64Builder.html       |  4 +--
 .../primitive_builder/type.Int8Builder.html        |  4 +--
 .../type.IntervalDayTimeBuilder.html               |  4 +--
 .../type.IntervalMonthDayNanoBuilder.html          |  4 +--
 .../type.IntervalYearMonthBuilder.html             |  4 +--
 .../type.Time32MillisecondBuilder.html             |  4 +--
 .../type.Time32SecondBuilder.html                  |  4 +--
 .../type.Time64MicrosecondBuilder.html             |  4 +--
 .../type.Time64NanosecondBuilder.html              |  4 +--
 .../type.TimestampMicrosecondBuilder.html          |  4 +--
 .../type.TimestampMillisecondBuilder.html          |  4 +--
 .../type.TimestampNanosecondBuilder.html           |  4 +--
 .../type.TimestampSecondBuilder.html               |  4 +--
 .../primitive_builder/type.UInt16Builder.html      |  4 +--
 .../primitive_builder/type.UInt32Builder.html      |  4 +--
 .../primitive_builder/type.UInt64Builder.html      |  4 +--
 .../primitive_builder/type.UInt8Builder.html       |  4 +--
 .../struct.PrimitiveDictionaryBuilder.html         |  2 +-
 arrow_array/builder/struct.BooleanBuilder.html     |  2 +-
 .../builder/struct.FixedSizeBinaryBuilder.html     |  2 +-
 .../builder/struct.FixedSizeListBuilder.html       |  6 ++--
 .../struct.GenericByteDictionaryBuilder.html       |  4 +--
 arrow_array/builder/struct.GenericListBuilder.html |  6 ++--
 arrow_array/builder/struct.MapBuilder.html         |  8 ++---
 arrow_array/builder/struct.MapFieldNames.html      |  8 ++---
 arrow_array/builder/struct.PrimitiveBuilder.html   | 10 +++---
 .../builder/struct.PrimitiveDictionaryBuilder.html |  2 +-
 arrow_array/builder/struct.StructBuilder.html      |  8 ++---
 arrow_array/builder/struct.UnionBuilder.html       |  6 ++--
 .../builder/struct_builder/fn.make_builder.html    |  2 +-
 .../struct_builder/struct.StructBuilder.html       |  8 ++---
 arrow_array/builder/type.Date32Builder.html        |  4 +--
 arrow_array/builder/type.Date64Builder.html        |  4 +--
 arrow_array/builder/type.Decimal128Builder.html    |  4 +--
 arrow_array/builder/type.Decimal256Builder.html    |  4 +--
 .../builder/type.DurationMicrosecondBuilder.html   |  4 +--
 .../builder/type.DurationMillisecondBuilder.html   |  4 +--
 .../builder/type.DurationNanosecondBuilder.html    |  4 +--
 .../builder/type.DurationSecondBuilder.html        |  4 +--
 arrow_array/builder/type.Float16Builder.html       |  4 +--
 arrow_array/builder/type.Float32Builder.html       |  4 +--
 arrow_array/builder/type.Float64Builder.html       |  4 +--
 arrow_array/builder/type.Int16Builder.html         |  4 +--
 arrow_array/builder/type.Int32Builder.html         |  4 +--
 arrow_array/builder/type.Int64Builder.html         |  4 +--
 arrow_array/builder/type.Int8Builder.html          |  4 +--
 .../builder/type.IntervalDayTimeBuilder.html       |  4 +--
 .../builder/type.IntervalMonthDayNanoBuilder.html  |  4 +--
 .../builder/type.IntervalYearMonthBuilder.html     |  4 +--
 arrow_array/builder/type.LargeListBuilder.html     |  4 +--
 arrow_array/builder/type.ListBuilder.html          |  4 +--
 .../builder/type.Time32MillisecondBuilder.html     |  4 +--
 arrow_array/builder/type.Time32SecondBuilder.html  |  4 +--
 .../builder/type.Time64MicrosecondBuilder.html     |  4 +--
 .../builder/type.Time64NanosecondBuilder.html      |  4 +--
 .../builder/type.TimestampMicrosecondBuilder.html  |  4 +--
 .../builder/type.TimestampMillisecondBuilder.html  |  4 +--
 .../builder/type.TimestampNanosecondBuilder.html   |  4 +--
 .../builder/type.TimestampSecondBuilder.html       |  4 +--
 arrow_array/builder/type.UInt16Builder.html        |  4 +--
 arrow_array/builder/type.UInt32Builder.html        |  4 +--
 arrow_array/builder/type.UInt64Builder.html        |  4 +--
 arrow_array/builder/type.UInt8Builder.html         |  4 +--
 .../builder/union_builder/struct.FieldData.html    |  6 ++--
 .../builder/union_builder/struct.UnionBuilder.html |  6 ++--
 arrow_array/cast/fn.downcast_array.html            |  2 +-
 arrow_array/ffi/fn.bit_width.html                  |  2 +-
 arrow_array/ffi/fn.export_array_into_raw.html      |  2 +-
 arrow_array/ffi/fn.from_ffi.html                   |  2 +-
 arrow_array/ffi/fn.from_ffi_and_data_type.html     |  4 +--
 arrow_array/ffi/fn.to_ffi.html                     |  4 +--
 arrow_array/ffi/index.html                         |  2 +-
 arrow_array/ffi/struct.FFI_ArrowArray.html         | 30 ++++++++--------
 arrow_array/ffi/struct.FFI_ArrowSchema.html        | 26 +++++++-------
 arrow_array/ffi/struct.ImportedArrowArray.html     | 14 ++++----
 arrow_array/ffi/type.Result.html                   |  6 ++--
 arrow_array/ffi_stream/fn.get_error_code.html      |  2 +-
 arrow_array/ffi_stream/fn.get_stream_schema.html   |  2 +-
 .../ffi_stream/struct.ArrowArrayStreamReader.html  | 10 +++---
 arrow_array/ffi_stream/type.Result.html            |  6 ++--
 arrow_array/index.html                             | 18 +++++-----
 arrow_array/macro.downcast_dictionary_array.html   |  2 +-
 arrow_array/macro.downcast_integer.html            |  2 +-
 arrow_array/macro.downcast_primitive.html          |  2 +-
 arrow_array/macro.downcast_primitive_array.html    |  2 +-
 arrow_array/macro.downcast_run_array.html          |  2 +-
 arrow_array/macro.downcast_run_end_index.html      |  2 +-
 arrow_array/macro.downcast_temporal.html           |  2 +-
 arrow_array/macro.downcast_temporal_array.html     |  2 +-
 arrow_array/record_batch/index.html                |  4 +--
 arrow_array/record_batch/struct.RecordBatch.html   | 34 +++++++++---------
 .../record_batch/struct.RecordBatchIterator.html   | 12 +++----
 .../record_batch/trait.RecordBatchReader.html      | 14 ++++----
 .../record_batch/trait.RecordBatchWriter.html      |  8 ++---
 arrow_array/struct.RecordBatch.html                | 34 +++++++++---------
 arrow_array/struct.RecordBatchIterator.html        | 12 +++----
 arrow_array/timezone/private/struct.Tz.html        |  2 +-
 arrow_array/timezone/struct.Tz.html                |  2 +-
 arrow_array/trait.ArrowNativeTypeOp.html           | 30 ++++++++--------
 arrow_array/trait.RecordBatchReader.html           | 14 ++++----
 arrow_array/trait.RecordBatchWriter.html           |  8 ++---
 .../fn.validate_decimal_precision_and_scale.html   |  2 +-
 arrow_array/types/index.html                       |  2 +-
 arrow_array/types/struct.BinaryViewType.html       |  2 +-
 arrow_array/types/struct.BooleanType.html          |  2 +-
 arrow_array/types/struct.Date32Type.html           |  2 +-
 arrow_array/types/struct.Date64Type.html           |  2 +-
 arrow_array/types/struct.Decimal128Type.html       |  4 +--
 arrow_array/types/struct.Decimal256Type.html       |  4 +--
 .../types/struct.DurationMicrosecondType.html      |  2 +-
 .../types/struct.DurationMillisecondType.html      |  2 +-
 .../types/struct.DurationNanosecondType.html       |  2 +-
 arrow_array/types/struct.DurationSecondType.html   |  2 +-
 arrow_array/types/struct.Float16Type.html          |  2 +-
 arrow_array/types/struct.Float32Type.html          |  2 +-
 arrow_array/types/struct.Float64Type.html          |  2 +-
 arrow_array/types/struct.GenericBinaryType.html    |  4 +--
 arrow_array/types/struct.GenericStringType.html    |  4 +--
 arrow_array/types/struct.Int16Type.html            |  2 +-
 arrow_array/types/struct.Int32Type.html            |  2 +-
 arrow_array/types/struct.Int64Type.html            |  2 +-
 arrow_array/types/struct.Int8Type.html             |  2 +-
 arrow_array/types/struct.IntervalDayTimeType.html  |  2 +-
 .../types/struct.IntervalMonthDayNanoType.html     |  2 +-
 .../types/struct.IntervalYearMonthType.html        |  2 +-
 arrow_array/types/struct.StringViewType.html       |  2 +-
 .../types/struct.Time32MillisecondType.html        |  2 +-
 arrow_array/types/struct.Time32SecondType.html     |  2 +-
 .../types/struct.Time64MicrosecondType.html        |  2 +-
 arrow_array/types/struct.Time64NanosecondType.html |  2 +-
 .../types/struct.TimestampMicrosecondType.html     |  2 +-
 .../types/struct.TimestampMillisecondType.html     |  2 +-
 .../types/struct.TimestampNanosecondType.html      |  2 +-
 arrow_array/types/struct.TimestampSecondType.html  |  2 +-
 arrow_array/types/struct.UInt16Type.html           |  2 +-
 arrow_array/types/struct.UInt32Type.html           |  2 +-
 arrow_array/types/struct.UInt64Type.html           |  2 +-
 arrow_array/types/struct.UInt8Type.html            |  2 +-
 arrow_array/types/trait.ArrowPrimitiveType.html    |  8 ++---
 arrow_array/types/trait.ArrowTimestampType.html    | 12 +++----
 arrow_array/types/trait.ByteArrayType.html         | 10 +++---
 arrow_array/types/trait.ByteViewType.html          |  8 ++---
 arrow_array/types/trait.DecimalType.html           | 14 ++++----
 help.html                                          |  2 +-
 .../constant.DEFAULT_READ_BLOOM_FILTER.html        |  2 +-
 .../file/properties/enum.EnabledStatistics.html    | 26 ++++++++++----
 parquet/file/properties/index.html                 |  5 +--
 .../properties/struct.BloomFilterProperties.html   |  6 ++--
 .../file/properties/struct.ColumnProperties.html   | 34 +++++++++---------
 .../file/properties/struct.ReaderProperties.html   |  8 ++---
 .../properties/struct.ReaderPropertiesBuilder.html | 12 +++----
 .../file/properties/type.ReaderPropertiesPtr.html  |  2 +-
 search.desc/parquet/parquet-desc-0-.js             |  2 +-
 settings.html                                      |  2 +-
 src/parquet/file/properties.rs.html                | 40 +++++++++++++++++++---
 trait.impl/core/convert/trait.From.js              |  2 +-
 .../core/iter/traits/iterator/trait.Iterator.js    |  2 +-
 .../array/binary_array/type.GenericBinaryArray.js  |  2 +-
 .../array/byte_array/struct.GenericByteArray.js    |  2 +-
 .../byte_view_array/struct.GenericByteViewArray.js |  2 +-
 .../dictionary_array/struct.DictionaryArray.js     |  2 +-
 .../array/list_array/struct.GenericListArray.js    |  2 +-
 .../array/primitive_array/struct.PrimitiveArray.js |  2 +-
 .../arrow_array/array/run_array/struct.RunArray.js |  2 +-
 .../array/string_array/type.GenericStringArray.js  |  2 +-
 .../struct.GenericByteDictionaryBuilder.js         |  2 +-
 .../struct.GenericListBuilder.js                   |  2 +-
 .../primitive_builder/struct.PrimitiveBuilder.js   |  2 +-
 .../arrow_array/types/struct.GenericBinaryType.js  |  2 +-
 .../arrow_array/types/struct.GenericStringType.js  |  2 +-
 339 files changed, 1002 insertions(+), 957 deletions(-)

diff --git a/arrow/array/trait.RecordBatchReader.html b/arrow/array/trait.RecordBatchReader.html
index d52e8108318..46cd13d3a65 100644
--- a/arrow/array/trait.RecordBatchReader.html
+++ b/arrow/array/trait.RecordBatchReader.html
@@ -11,9 +11,9 @@
 reader should have the same schema as returned from this method.</p>
 </div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a [...]
 </div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E" class="impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#448-462">source</a><a href="#impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E"  [...]
-</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_csv/reader/mod.rs.html#538">source</a><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_csv/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&amp [...]
-    R: <a class="trait" href="../record_batch/trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</ [...]
+</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
+    R: <a class="trait" href="../record_batch/trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(& [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" hr [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="s [...]
diff --git a/arrow/array/trait.RecordBatchWriter.html b/arrow/array/trait.RecordBatchWriter.html
index b4fbdff29df..c81d60df17c 100644
--- a/arrow/array/trait.RecordBatchWriter.html
+++ b/arrow/array/trait.RecordBatchWriter.html
@@ -5,9 +5,9 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
 </div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a c [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum a [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-Writer%3CW%3E" class="impl"><a class="src rightside" href="../../src/arrow_csv/writer.rs.html#179">source</a><a href="#impl-RecordBatchWriter-for-Writer%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="../reco [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_csv/writer.rs.html#180">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_csv/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self, bat [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>)  [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="../record_batch/trait.RecordBatchWriter.html" title="trait arrow::record_batch:: [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>)  [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-2" class="method trait-impl"><a href="#method.write-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>)  [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,
     F: JsonFormat,</div></h3></section></summary><div class="impl-items"><section id="method.write-3" class="method trait-impl"><a href="#method.write-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core:: [...]
\ No newline at end of file
diff --git a/arrow/index.html b/arrow/index.html
index 04898fc83ae..aa50b2ca30c 100644
--- a/arrow/index.html
+++ b/arrow/index.html
@@ -149,7 +149,7 @@ and a corresponding list of <a href="array/type.ArrayRef.html" title="type arrow
 <p>This crate provides readers and writers for various formats to/from <a href="record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a></p>
 <ul>
 <li>JSON: <a href="json::reader::Reader"><code>Reader</code></a> and <a href="json::writer::Writer"><code>Writer</code></a></li>
-<li>CSV: <a href="../arrow_csv/reader/type.Reader.html" title="type arrow_csv::reader::Reader"><code>Reader</code></a> and <a href="../arrow_csv/writer/struct.Writer.html" title="struct arrow_csv::writer::Writer"><code>Writer</code></a></li>
+<li>CSV: <a href="csv::reader::Reader"><code>Reader</code></a> and <a href="csv::writer::Writer"><code>Writer</code></a></li>
 <li>IPC: <a href="ipc::reader::StreamReader"><code>Reader</code></a> and <a href="ipc::writer::FileWriter"><code>Writer</code></a></li>
 </ul>
 <p>Parquet is published as a <a href="https://crates.io/crates/parquet">separate crate</a></p>
@@ -198,7 +198,7 @@ the sub-crates they need.</p>
 <li>[<code>arrow-array</code>][arrow_array] - type-safe arrow array abstractions</li>
 <li>[<code>arrow-buffer</code>][arrow_buffer] - buffer abstractions for arrow arrays</li>
 <li>[<code>arrow-cast</code>][arrow_cast] - cast kernels for arrow arrays</li>
-<li><a href="../arrow_csv/index.html" title="mod arrow_csv"><code>arrow-csv</code></a> - read/write CSV to arrow format</li>
+<li>[<code>arrow-csv</code>][arrow_csv] - read/write CSV to arrow format</li>
 <li>[<code>arrow-data</code>][arrow_data] - the underlying data of arrow arrays</li>
 <li>[<code>arrow-ipc</code>][arrow_ipc] - read/write IPC to arrow format</li>
 <li>[<code>arrow-json</code>][arrow_json] - read/write JSON to arrow format</li>
@@ -225,7 +225,7 @@ arrow’s use of unsafe, see <a href="https://github.com/apache/arrow-rs/tree/ma
 more sophisticated query processing workloads, consider checking out <a href="https://github.com/apache/arrow-datafusion">DataFusion</a>. This
 orchestrates the primitives exported by this crate into an embeddable query engine, with
 SQL and DataFrame frontends, and heavily influences this crate’s roadmap.</p>
-</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.csv"><code>pub use <a class="mod" href="../arrow_csv/index.html" title="mod arrow_csv">arrow_csv</a> as csv;</code></div></li><li><div class="item-name" id="reexport.ipc"><code>pub use arrow_ipc as ipc;</code></div></li><li><div class="item-name" id="reexport.json"><code>pub use arrow_json as json;</code></div></l [...]
+</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.csv"><code>pub use arrow_csv as csv;</code></div></li><li><div class="item-name" id="reexport.ipc"><code>pub use arrow_ipc as ipc;</code></div></li><li><div class="item-name" id="reexport.json"><code>pub use arrow_json as json;</code></div></li><li><div class="item-name" id="reexport.row"><code>pub use arrow_row a [...]
 <a href="https://arrow.apache.org/docs/format/CDataInterface.html">C Data Interface</a>
 and <a href="https://docs.rs/pyo3/latest/pyo3/">pyo3</a>.
 For underlying implementation, see the <a href="ffi/index.html" title="mod arrow::ffi">ffi</a> module.</div></li><li><div class="item-name"><a class="mod" href="record_batch/index.html" title="mod arrow::record_batch">record_batch</a></div></li><li><div class="item-name"><a class="mod" href="temporal_conversions/index.html" title="mod arrow::temporal_conversions">temporal_conversions</a></div><div class="desc docblock-short">Conversion methods for dates and times.</div></li><li><div clas [...]
diff --git a/arrow/record_batch/trait.RecordBatchReader.html b/arrow/record_batch/trait.RecordBatchReader.html
index fbf85d351a0..f71b2cdc1ac 100644
--- a/arrow/record_batch/trait.RecordBatchReader.html
+++ b/arrow/record_batch/trait.RecordBatchReader.html
@@ -11,9 +11,9 @@
 reader should have the same schema as returned from this method.</p>
 </div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a [...]
 </div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E" class="impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#448-462">source</a><a href="#impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E"  [...]
-</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_csv/reader/mod.rs.html#538">source</a><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_csv/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&amp [...]
-    R: <a class="trait" href="trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -& [...]
+</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
+    R: <a class="trait" href="trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt;  [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" hr [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="s [...]
diff --git a/arrow/record_batch/trait.RecordBatchWriter.html b/arrow/record_batch/trait.RecordBatchWriter.html
index 9963f901a8e..2413f3d5bca 100644
--- a/arrow/record_batch/trait.RecordBatchWriter.html
+++ b/arrow/record_batch/trait.RecordBatchWriter.html
@@ -5,9 +5,9 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
 </div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum a [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-Writer%3CW%3E" class="impl"><a class="src rightside" href="../../src/arrow_csv/writer.rs.html#179">source</a><a href="#impl-RecordBatchWriter-for-Writer%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="trait.R [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_csv/writer.rs.html#180">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_csv/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self, bat [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class=" [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="trait.RecordBatchWriter.html" title="trait arrow::record_batch::RecordBatchWrite [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class=" [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-2" class="method trait-impl"><a href="#method.write-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class=" [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,
     F: JsonFormat,</div></h3></section></summary><div class="impl-items"><section id="method.write-3" class="method trait-impl"><a href="#method.write-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result"> [...]
\ No newline at end of file
diff --git a/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html b/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
index 64eb8885dd2..9d06498f9f1 100644
--- a/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
+++ b/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
@@ -5,19 +5,19 @@
     const <a href="#associatedconstant.MAX_TOTAL_ORDER" class="constant">MAX_TOTAL_ORDER</a>: Self;
 <details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 22 methods</span></summary>
     // Required methods
-    fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.add_wrapping" class="fn">add_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.sub_wrapping" class="fn">sub_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.mul_wrapping" class="fn">mul_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.div_wrapping" class="fn">div_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.mod_wrapping" class="fn">mod_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.neg_wrapping" class="fn">neg_wrapping</a>(self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.pow_wrapping" class="fn">pow_wrapping</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; Self;
 <span class="item-spacer"></span>    fn <a href="#tymethod.is_zero" class="fn">is_zero</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
 <span class="item-spacer"></span>    fn <a href="#tymethod.compare" class="fn">compare</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>;
@@ -49,19 +49,19 @@ which means that this value is a negative NaN.</p>
 </div></details><details class="toggle" open><summary><section id="associatedconstant.MAX_TOTAL_ORDER" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#56">source</a><h4 class="code-header">const <a href="#associatedconstant.MAX_TOTAL_ORDER" class="constant">MAX_TOTAL_ORDER</a>: Self</h4></section></summary><div class="docblock"><p>The maximum value and identity for the <code>min</code> aggregation.
 Note that the aggregation uses the total order predicate for floating point values,
 which means that this value is a positive NaN.</p>
-</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#59">source</a><h4 class="code-header">fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc. [...]
+</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#59">source</a><h4 class="code-header">fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc. [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.add_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#62">source</a><h4 class="code-header">fn <a href="#tymethod.add_wrapping" class="fn">add_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping addition operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#65">source</a><h4 class="code-header">fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schem [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#65">source</a><h4 class="code-header">fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#68">source</a><h4 class="code-header">fn <a href="#tymethod.sub_wrapping" class="fn">sub_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping subtraction operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#71">source</a><h4 class="code-header">fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schem [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#71">source</a><h4 class="code-header">fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#74">source</a><h4 class="code-header">fn <a href="#tymethod.mul_wrapping" class="fn">mul_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping multiplication operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#77">source</a><h4 class="code-header">fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schem [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#77">source</a><h4 class="code-header">fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#80">source</a><h4 class="code-header">fn <a href="#tymethod.div_wrapping" class="fn">div_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping division operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#83">source</a><h4 class="code-header">fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schem [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#83">source</a><h4 class="code-header">fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#86">source</a><h4 class="code-header">fn <a href="#tymethod.mod_wrapping" class="fn">mod_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping remainder operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enu [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class= [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#92">source</a><h4 class="code-header">fn <a href="#tymethod.neg_wrapping" class="fn">neg_wrapping</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping negation operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_checked" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_wrapping" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#98">source</a><h4 class="code-header">fn <a href="#tymethod.pow_wrapping" class="fn">pow_wrapping</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping exponentiation operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_zero" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#101">source</a><h4 class="code-header">fn <a href="#tymethod.is_zero" class="fn">is_zero</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if zero else false</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.compare" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#104">source</a><h4 class="code-header">fn <a href="#tymethod.compare" class="fn">compare</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class="docblock"><p>Compare op [...]
@@ -71,4 +71,4 @@ which means that this value is a positive NaN.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_le" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#123-125">source</a><h4 class="code-header">fn <a href="#method.is_le" class="fn">is_le</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Less than equals operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_gt" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#129-131">source</a><h4 class="code-header">fn <a href="#method.is_gt" class="fn">is_gt</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Greater than operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_ge" class="method"><a class="src rightside" href="../../src/arrow_array/arithmetic.rs.html#135-137">source</a><h4 class="code-header">fn <a href="#method.is_ge" class="fn">is_ge</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Greater than equals operation</p>
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="im [...]
\ No newline at end of file
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="im [...]
\ No newline at end of file
diff --git a/arrow_array/array/binary_array/type.BinaryArray.html b/arrow_array/array/binary_array/type.BinaryArray.html
index f73ee433f3d..13e059b9aa0 100644
--- a/arrow_array/array/binary_array/type.BinaryArray.html
+++ b/arrow_array/array/binary_array/type.BinaryArray.html
@@ -30,8 +30,8 @@
 <span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
 <p>See <a href="../byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/binary_array/type.GenericBinaryArray.html b/arrow_array/array/binary_array/type.GenericBinaryArray.html
index 4a5b6fef207..b7ba9d5c21d 100644
--- a/arrow_array/array/binary_array/type.GenericBinaryArray.html
+++ b/arrow_array/array/binary_array/type.GenericBinaryArray.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericBinaryArray` for storing `[u8]`"><title>GenericBinaryArray in arrow_array::array::binary_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf084 [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericBinaryArray&lt;OffsetSize&gt; {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../../types/struct.GenericBinaryType.html" title="struct arrow_array::types::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt; as <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../../types/struc [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><a class="src rightside" href="../../../src/arrow_array/array/binary_array.rs.html#36-38">source</a><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/ [...]
 <p>See also <a href="../byte_array/struct.GenericByteArray.html#method.from_iter_values" title="associated function arrow_array::array::byte_array::GenericByteArray::from_iter_values"><code>Self::from_iter_values</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><a class="src rightside" href="../../../src/arrow_array/array/binary_array.rs.html#41-43">source</a><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly [...]
diff --git a/arrow_array/array/binary_array/type.LargeBinaryArray.html b/arrow_array/array/binary_array/type.LargeBinaryArray.html
index 8c74cdc257e..d1b7bb07602 100644
--- a/arrow_array/array/binary_array/type.LargeBinaryArray.html
+++ b/arrow_array/array/binary_array/type.LargeBinaryArray.html
@@ -29,8 +29,8 @@
 <span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
 <p>See <a href="../byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/boolean_array/struct.BooleanArray.html b/arrow_array/array/boolean_array/struct.BooleanArray.html
index 620558861ad..9b162652b97 100644
--- a/arrow_array/array/boolean_array/struct.BooleanArray.html
+++ b/arrow_array/array/boolean_array/struct.BooleanArray.html
@@ -72,7 +72,7 @@ each element of the provided arrays</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#259-261">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (BooleanBuffer, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></sect [...]
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BooleanArray-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#396-401">source</a><a href="#impl-BooleanArray-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h3></section></summary><div cla [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-BooleanArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#264-312">source</a><a href="#impl-Array-for-BooleanArray" class="anchor">§</a><h3 class [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#269-271">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a cla [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#269-271">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayD [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/boolean_array.rs.html#297-299">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href=" [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -81,7 +81,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BooleanArray" class="impl"><a href="#impl-Freeze-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/byte_array/struct.GenericByteArray.html b/arrow_array/array/byte_array/struct.GenericByteArray.html
index 28add6cf6f8..7a8ddab0b13 100644
--- a/arrow_array/array/byte_array/struct.GenericByteArray.html
+++ b/arrow_array/array/byte_array/struct.GenericByteArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of variable length byte arrays"><title>GenericByteArray in arrow_array::array::byte_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.w [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
@@ -30,7 +30,7 @@ builder.append_value(<span class="string">"world"</span>);
 <span class="kw">let </span>array = builder.finish();
 <span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.iter().collect();
 <span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"world"</span>)]);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfiel [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../../ty [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><a class="src rightside" href="../../../src/arrow_array/array/binary_array.rs.html#36-38">source</a><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/ [...]
 <p>See also <a href="struct.GenericByteArray.html#method.from_iter_values" title="associated function arrow_array::array::byte_array::GenericByteArray::from_iter_values"><code>Self::from_iter_values</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><a class="src rightside" href="../../../src/arrow_array/array/binary_array.rs.html#41-43">source</a><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly [...]
@@ -44,7 +44,7 @@ builder.append_value(<span class="string">"world"</span>);
 ) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt; + 'a</h4></section></summary><div class="docblock"><p>Retur [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#105-415">source</a><a href="#impl-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt; <a class="struct" hr [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#105-415">source</a><a href="#impl-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt; <a class="struct" hr [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#114-120">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
     offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: Buffer,
@@ -56,7 +56,7 @@ builder.append_value(<span class="string">"world"</span>);
     offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> from the  [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>offsets.len() - 1 != nulls.len()</code></li>
@@ -97,7 +97,7 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#324-331">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize. [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_builder" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#335-414">source</a><h4 class="code-header">pub fn <a href="#method.into_builder" class="fn">into_builder</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../builder/g [...]
 offset and data buffers are not shared by others.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#25-66">source</a><a href="#impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="../list_array/trait.OffsetSizeTrait.html" title="trait  [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#25-66">source</a><a href="#impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="../list_array/trait.OffsetSizeTrait.html" title="trait  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_chars" class="method"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#37-39">source</a><h4 class="code-header">pub fn <a href="#method.num_chars" class="fn">num_chars</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u [...]
 <h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -115,10 +115,10 @@ please use the function <a href="#method.value_length"><code>value_length</code>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_binary" class="method"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#62-65">source</a><h4 class="code-header">pub fn <a href="#method.try_from_binary" class="fn">try_from_binary</a>(
     v: <a class="type" href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray">GenericBinaryArray</a>&lt;OffsetSize&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="../string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericString [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="../string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray</code></a> from a <a href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_arr [...]
 an error if <a href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray"><code>GenericBinaryArray</code></a> contains invalid UTF-8 data</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#427-476">source</a><a href="#impl-Array-for-GenericByteArray%3CT%3E" class="anc [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#432-434">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class= [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#432-434">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_array.rs.html#460-462">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="htt [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -127,7 +127,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt; + 'a,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a class="s [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a class="src righ [...]
     &lt;T as <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3 [...]
diff --git a/arrow_array/array/byte_view_array/struct.GenericByteViewArray.html b/arrow_array/array/byte_view_array/struct.GenericByteViewArray.html
index 687b5dd73e6..992ad629ce1 100644
--- a/arrow_array/array/byte_view_array/struct.GenericByteViewArray.html
+++ b/arrow_array/array/byte_view_array/struct.GenericByteViewArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Variable-size Binary View Layout: An array of variable length bytes view arrays."><title>GenericByteViewArray in arrow_array::array::byte_view_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;T&gt;,
@@ -58,7 +58,7 @@ view. In this case, the same bytes for “Fish” are used to store both strings
                                  u128 &quot;views&quot;                              │Yay│
                                                                   buffer 0 │...│
                                                                            └───┘
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href=" [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang [...]
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
@@ -69,7 +69,7 @@ view. In this case, the same bytes for “Fish” are used to store both strings
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericByteViewArray"><code>GenericByteViewArray</co [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericByteViewArray"><code>GenericByteViewArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>views.len() != nulls.len()</code></li>
@@ -97,14 +97,14 @@ view. In this case, the same bytes for “Fish” are used to store both strings
 <p>Caller is responsible for ensuring that the index is within the bounds of the array</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#254-256">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../../iterator/struct.ArrayIter.html" title="struct arrow_array::iterator::ArrayIter">ArrayIter</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#259-267">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u [...]
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CBinaryViewType%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#415-429">source</a><a href="#impl-GenericByteViewArray%3CBinaryViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericBy [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CBinaryViewType%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#415-429">source</a><a href="#impl-GenericByteViewArray%3CBinaryViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericBy [...]
 If items not utf8 data, validate will fail and error returned.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_string_view_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#426-428">source</a><h4 class="code-header">pub unsafe fn <a href="#method.to_string_view_unchecked" class="fn">to_string_view_unchecked</a>(self) -&gt; <a class="type" href="type.StringViewArray.html" title="type arrow_array::array::byte_view_array::StringViewArray">StringView [...]
 <h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
 <p>Caller is responsible for ensuring that items in array are utf8 data.</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CStringViewType%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#454-459">source</a><a href="#impl-GenericByteViewArray%3CStringViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericBy [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteViewArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#280-329">source</a><a href="#impl-Array-for-GenericByteViewArray%3CT%3 [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#285-287">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a c [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#285-287">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; Arra [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#313-315">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -113,7 +113,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../../types/trait.ByteViewType.html#associatedtype.Native" title="type arrow_array::types::ByteViewType::Native">Native</a>&gt; + 'a,
     T: <a class="trait" href="../../types/trait.ByteViewType.html" title="trait arrow_array::types::ByteViewType">ByteViewType</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../../types/trait.ByteViewType.html#associatedtype.Native" title="type arrow_array::types::ByteViewType::Native">Native</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a class="src rights [...]
diff --git a/arrow_array/array/byte_view_array/type.BinaryViewArray.html b/arrow_array/array/byte_view_array/type.BinaryViewArray.html
index 4181e9d27c9..28170b8d57a 100644
--- a/arrow_array/array/byte_view_array/type.BinaryViewArray.html
+++ b/arrow_array/array/byte_view_array/type.BinaryViewArray.html
@@ -5,12 +5,12 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">b"hello"</span>);
 <span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">b"large payload over 12 bytes"</span>);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryViewArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="struct" href="../../types/struct.BinaryViewType.html" title="struct arrow_array::types::BinaryViewType">BinaryViewType</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" c [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/prim [...]
 If items not utf8 data, validate will fail and error returned.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_string_view_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#426-428">source</a><h4 class="code-header">pub unsafe fn <a href="#method.to_string_view_unchecked" class="fn">to_string_view_unchecked</a>(self) -&gt; <a class="type" href="type.StringViewArray.html" title="type arrow_array::array::byte_view_array::StringViewArray">StringView [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
diff --git a/arrow_array/array/byte_view_array/type.StringViewArray.html b/arrow_array/array/byte_view_array/type.StringViewArray.html
index b8e058a1883..2d5b7dcc1f2 100644
--- a/arrow_array/array/byte_view_array/type.StringViewArray.html
+++ b/arrow_array/array/byte_view_array/type.StringViewArray.html
@@ -5,10 +5,10 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"hello"</span>);
 <span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">"large payload over 12 bytes"</span>);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringViewArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="struct" href="../../types/struct.StringViewType.html" title="struct arrow_array::types::StringViewType">StringViewType</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" c [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/prim [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%26str%3E%3E-for-GenericByteViewArray%3CStringViewType%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/byte_view_array.rs.html#461-465">source</a><a href="#impl-Fro [...]
\ No newline at end of file
diff --git a/arrow_array/array/dictionary_array/struct.DictionaryArray.html b/arrow_array/array/dictionary_array/struct.DictionaryArray.html
index 6e8d6ecd989..1d846c6a21c 100644
--- a/arrow_array/array/dictionary_array/struct.DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/struct.DictionaryArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of dictionary encoded values"><title>DictionaryArray in arrow_array::array::dictionary_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ff [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
@@ -56,7 +56,7 @@ builder.append_value(<span class="string">"b"</span>);
 
 <span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.downcast_dict::&lt;StringArray&gt;().unwrap().into_iter().collect();
 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">Some</span>(<span class="string">"b"</span>)]);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" c [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct a [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
@@ -70,7 +70,7 @@ array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#289-314">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
 (indexes into the dictionary) and values (dictionary)
 array.</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
@@ -86,7 +86,7 @@ returns the corresponding key (index into the <code>values</code>
 array). Otherwise returns <code>None</code>.</p>
 <p>Panics if <code>values</code> is not a <a href="../string_array/type.StringArray.html" title="type arrow_array::array::string_array::StringArray"><code>StringArray</code></a>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#367-369">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#372-374">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class=" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#372-374">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#377-379">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>The length of the dictionary is the length  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#382-384">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether this dictionary is empty</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_ordered" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#387-389">source</a><h4 class="code-header">pub fn <a href="#method.is_ordered" class="fn">is_ordered</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Currently exists for com [...]
@@ -163,7 +163,7 @@ or this function may panic.</p>
 <p>For each value in <a href="struct.DictionaryArray.html#method.values" title="method arrow_array::array::dictionary_array::DictionaryArray::values"><code>Self::values</code></a> the corresponding bit will be set in the
 returned mask if it is referenced by a key in this <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a></p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#994-1013">source</a><a href="#impl-AnyDictionaryArray-for-Dic [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#699-701">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a  [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#699-701">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; Arr [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#727-729">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" hre [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#752-754">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;se [...]
@@ -172,8 +172,8 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#760-764">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</ [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" hr [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#579-623">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../../../arrow_data/data/struct.ArrayData [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#579-623">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: ArrayData) -&gt; Self</h4></section></summary><div class='docbloc [...]
 <h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{DictionaryArray, PrimitiveArray, StringArray, types::Int8Type};
 
diff --git a/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html b/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html
index 2fb92b0d7cc..805980e7e3c 100644
--- a/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html
+++ b/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html
@@ -20,7 +20,7 @@
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#816-826">source</a><a href="#impl-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, K: [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#823-825">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#828-880">source</a><a href="#impl-Array-for-TypedDictionaryArr [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#833-835">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a  [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#833-835">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; Arr [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#861-863">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" hre [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#869-871">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;se [...]
diff --git a/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html b/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
index 90037b399a3..427f706a341 100644
--- a/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.Int16Type.html" title="struct arrow_array::types::Int16Type">Int16Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html b/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html
index 1bfd6b345d1..71aededd080 100644
--- a/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.Int32Type.html" title="struct arrow_array::types::Int32Type">Int32Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html b/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html
index 9591335b9a1..e5b7ce7fffc 100644
--- a/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.Int64Type.html" title="struct arrow_array::types::Int64Type">Int64Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html b/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html
index 9f4f44cc071..5fdf988f3f2 100644
--- a/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.Int8Type.html" title="struct arrow_array::types::Int8Type">Int8Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html b/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html
index f86537f7995..bca5f9d7f32 100644
--- a/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.UInt16Type.html" title="struct arrow_array::types::UInt16Type">UInt16Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html b/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html
index b782a7cd13c..3d6cfc2e095 100644
--- a/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.UInt32Type.html" title="struct arrow_array::types::UInt32Type">UInt32Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html b/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html
index 32c378a51f9..8f29781755e 100644
--- a/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.UInt64Type.html" title="struct arrow_array::types::UInt64Type">UInt64Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html b/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html
index 53aba3d6ccf..2c0215309f3 100644
--- a/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8DictionaryArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../types/struct.UInt8Type.html" title="struct arrow_array::types::UInt8Type">UInt8Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" cla [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arr [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.html b/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.html
index caf705b3a18..7d80cb09a78 100644
--- a/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.html
+++ b/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of fixed size binary arrays"><title>FixedSizeBinaryArray in arrow_array::array::fixed_size_binary_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
@@ -22,7 +22,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
    <span class="kw">let </span>arr = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();
    <span class="macro">assert_eq!</span>(<span class="number">5</span>, arr.len())
 </code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_data" class="structfield section-header"><a href="#structfield.v [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_data" class="structfield section-header"><a href="#structfield.value_data" class="anchor field">§</a><code>value_data: Buffer</code></span><span id="structfield.nulls" class="structfield  [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct.FixedSizeBinaryArray.html#method.try_new" title="associated function arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#72-75">source</a><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="http [...]
@@ -30,7 +30,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.FixedSizeBinaryArray.html" title="struct arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray"><code>FixedSizeBinaryA [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.FixedSizeBinaryArray.html" title="struct arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray"><code>FixedSizeBinaryArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -59,7 +59,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
 allowing for zero-copy cloning.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_data" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#195-197">source</a><h4 class="code-header">pub fn <a href="#method.value_data" class="fn">value_data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></ [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#200-215">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primit [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#242-313">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter" class="fn">try_from_sparse_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">R [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#242-313">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter" class="fn">try_from_sparse_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">R [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: This function will fail if the iterator produces only None values; prefer <code>try_from_sparse_iter_with_size</code></span></div></ [...]
 Sparsity means that items returned by the iterator are optional, i.e input argument can
@@ -80,7 +80,7 @@ contain <code>None</code> items.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter_with_size" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#339-390">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter_with_size" class="fn">try_from_sparse_iter_with_size</a>&lt;T, U&gt;(
     iter: T,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;<div class="where">where
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of sparse byte slices.
 Sparsity means that items returned by the iterator are optional, i.e input argument can
@@ -100,7 +100,7 @@ created.</p>
 <span class="kw">let </span>array = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();</code></pre></div>
 <h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
 <p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#409-456">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#409-456">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Ar [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = U&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of byte slices.</p>
 <h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
@@ -115,7 +115,7 @@ created.</p>
 <p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
 </div></details><section id="method.value_offset_at" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#459-461">source</a><h4 class="code-header">fn <a href="#method.value_offset_at" class="fn">value_offset_at</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></se [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeBinaryArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#576-624">source</a><a href="#impl-Array-for-FixedSizeBinaryArray" cla [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#581-583">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -& [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#581-583">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -& [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#609-611">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="en [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -124,7 +124,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 </div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#508-544">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="../fixed_size_list_array/struct.Fixed [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeBinaryArray" class="impl"><a href="#impl-Freeze-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust- [...]
diff --git a/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.html b/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.html
index d9e0248e32b..7460fa6df72 100644
--- a/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.html
+++ b/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of [fixed length lists], similar to JSON arrays (e.g. `[&quot;A&quot;, &quot;B&quot;]`)."><title>FixedSizeListArray in arrow_array::array::fixed_size_list_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4 [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
@@ -71,8 +71,8 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>], list1.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());
 <span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>], list2.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());</code></pre></div>
 <p><a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-list-layout">fixed size arrays</a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.value [...]
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::Arr [...]
+    field: FieldRef,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
@@ -80,11 +80,11 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct.FixedSizeListArray.html#method.try_new" title="associated function arrow_array::array::fixed_size_list_array::FixedSizeListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#145-205">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>FixedSizeListArray</co [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>FixedSizeListArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -92,16 +92,16 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <li><code>values.data_type() != field.data_type()</code></li>
 <li><code>!field.is_nullable() &amp;&amp; !nulls.expand(size).contains(values.logical_nulls())</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#215-224">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, size: <a class="primitive" href="https://doc.rust-la [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#215-224">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: FieldRef, size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std [...]
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>Panics if</p>
 <ul>
 <li><code>size &lt; 0</code></li>
 <li><code>size * len</code> would overflow <code>usize</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#227-233">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, <a class="primitive" href="https://doc.r [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#227-233">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (FieldRef, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, <a class="type" href="../type.ArrayRef.html" title="type arrow_ [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#236-238">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference t [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#241-243">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div cl [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#241-243">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#246-249">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array:: [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#255-257">source</a><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nig [...]
 <p>Note this doesn’t do any bound checking, for performance reason.</p>
@@ -124,7 +124,7 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#337-339">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="type" href="../../iterator/type.FixedSizeListIter.html" title="type arrow_array::iterator::FixedSizeListIter">FixedSizeListIter</a>&lt;'_&gt;</h4></section></summary><div  [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeListArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#375-427">source</a><a href="#impl-Array-for-FixedSizeListArray" class="an [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#380-382">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#380-382">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#408-410">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -133,7 +133,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 </div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#508-544">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="struct.FixedSizeListArray.html" title [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeListArray" class="impl"><a href="#impl-Freeze-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang [...]
diff --git a/arrow_array/array/fn.get_offsets.html b/arrow_array/array/fn.get_offsets.html
index 862c2fdd9e1..5a1777cf542 100644
--- a/arrow_array/array/fn.get_offsets.html
+++ b/arrow_array/array/fn.get_offsets.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Helper function that gets offset from an `ArrayData`"><title>get_offsets in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Helper function that gets offset from an `ArrayData`"><title>get_offsets in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2 [...]
 <h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
 <ul>
 <li>ArrayData must contain a valid [<code>OffsetBuffer</code>] as its first buffer</li>
diff --git a/arrow_array/array/fn.make_array.html b/arrow_array/array/fn.make_array.html
index 03b59fc7b8d..635630c9183 100644
--- a/arrow_array/array/fn.make_array.html
+++ b/arrow_array/array/fn.make_array.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Constructs an array using the input `data`. Returns a reference-counted `Array` instance."><title>make_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fir [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Constructs an array using the input `data`. Returns a reference-counted `Array` instance."><title>make_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fir [...]
 Returns a reference-counted <code>Array</code> instance.</p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/array/fn.new_empty_array.html b/arrow_array/array/fn.new_empty_array.html
index 6b138c8d82e..6860477a46c 100644
--- a/arrow_array/array/fn.new_empty_array.html
+++ b/arrow_array/array/fn.new_empty_array.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Creates a new empty array"><title>new_empty_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a78 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Creates a new empty array"><title>new_empty_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a78 [...]
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::sync::Arc;
 <span class="kw">use </span>arrow_schema::DataType;
diff --git a/arrow_array/array/fn.new_null_array.html b/arrow_array/array/fn.new_null_array.html
index 17e0e79f964..c0d9db73072 100644
--- a/arrow_array/array/fn.new_null_array.html
+++ b/arrow_array/array/fn.new_null_array.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Creates a new array of `data_type` of length `length` filled entirely of `NULL` values"><title>new_null_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fi [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Creates a new array of `data_type` of length `length` filled entirely of `NULL` values"><title>new_null_array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fi [...]
 entirely of <code>NULL</code> values</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::sync::Arc;
diff --git a/arrow_array/array/index.html b/arrow_array/array/index.html
index 408a22275fd..29b54e67a6b 100644
--- a/arrow_array/array/index.html
+++ b/arrow_array/array/index.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The concrete array definitions"><title>arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.wof [...]
 </div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.ArrowPrimitiveType"><code>pub use crate::types::<a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="ite [...]
 (e.g. <code>[&quot;A&quot;, &quot;B&quot;]</code>).</div></li><li><div class="item-name"><a class="struct" href="struct.GenericByteArray.html" title="struct arrow_array::array::GenericByteArray">GenericByteArray</a></div><div class="desc docblock-short">An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">variable length byte arrays</a></div></li><li><div class="item-name"><a class="struct" href="struct.GenericByteViewArray.html" title="str [...]
-(e.g. <code>[&quot;A&quot;, &quot;B&quot;, &quot;C&quot;]</code>).</div></li><li><div class="item-name"><a class="struct" href="struct.MapArray.html" title="struct arrow_array::array::MapArray">MapArray</a></div><div class="desc docblock-short">An array of key-value maps</div></li><li><div class="item-name"><a class="struct" href="struct.NativeAdapter.html" title="struct arrow_array::array::NativeAdapter">NativeAdapter</a></div><div class="desc docblock-short">An optional primitive value [...]
+(e.g. <code>[&quot;A&quot;, &quot;B&quot;, &quot;C&quot;]</code>).</div></li><li><div class="item-name"><a class="struct" href="struct.MapArray.html" title="struct arrow_array::array::MapArray">MapArray</a></div><div class="desc docblock-short">An array of key-value maps</div></li><li><div class="item-name"><a class="struct" href="struct.NativeAdapter.html" title="struct arrow_array::array::NativeAdapter">NativeAdapter</a></div><div class="desc docblock-short">An optional primitive value [...]
 Returns a reference-counted <code>Array</code> instance.</div></li><li><div class="item-name"><a class="fn" href="fn.new_empty_array.html" title="fn arrow_array::array::new_empty_array">new_empty_array</a></div><div class="desc docblock-short">Creates a new empty array</div></li><li><div class="item-name"><a class="fn" href="fn.new_null_array.html" title="fn arrow_array::array::new_null_array">new_null_array</a></div><div class="desc docblock-short">Creates a new array of <code>data_type [...]
 entirely of <code>NULL</code> values</div></li><li><div class="item-name"><a class="fn" href="fn.print_long_array.html" title="fn arrow_array::array::print_long_array">print_long_array</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc docblock-short">Helper function for printing potentially long arrays.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a  [...]
\ No newline at end of file
diff --git a/arrow_array/array/list_array/struct.GenericListArray.html b/arrow_array/array/list_array/struct.GenericListArray.html
index ffd019ee4e9..00465f57d3b 100644
--- a/arrow_array/array/list_array/struct.GenericListArray.html
+++ b/arrow_array/array/list_array/struct.GenericListArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of variable length lists, similar to JSON arrays (e.g. `[&quot;A&quot;, &quot;B&quot;, &quot;C&quot;]`)."><title>GenericListArray in arrow_array::array::list_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSer [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     value_offsets: OffsetBuffer&lt;OffsetSize&gt;,
@@ -58,15 +58,15 @@ the actual <code>ListArray</code> encoding on the right.</p>
                                         └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
 
 
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href=" [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
 The input is the schema of the child array and
-the output is the <a href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>, List or LargeList.</p>
+the output is the [<code>DataType</code>], List or LargeList.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#165-215">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;OffsetSize&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> from the  [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> from the provided parts</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if</p>
 <ul>
@@ -76,22 +76,22 @@ the output is the <a href="../../../arrow_schema/datatype/enum.DataType.html" ti
 <li><code>field.data_type() != values.data_type()</code></li>
 </ul>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#222-229">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;OffsetSize&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> from the provided parts</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct.GenericListArray.html#method.try_new" title="associated function arrow_array::array::list_array::GenericListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#232-240">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, len: <a class="primitive" href="https://doc.rust-lang.org/night [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#232-240">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: FieldRef, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a h [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#243-256">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, OffsetBuffer&lt;OffsetSize&gt;, <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array i [...]
+) -&gt; (FieldRef, OffsetBuffer&lt;OffsetSize&gt;, <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array into its constituent parts</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#263-265">source</a><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;OffsetBuffer&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a reference to the offsets of this list</p>
 <p>Unlike <a href="struct.GenericListArray.html#method.value_offsets" title="method arrow_array::array::list_array::GenericListArray::value_offsets"><code>Self::value_offsets</code></a> this returns the [<code>OffsetBuffer</code>]
 allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#269-271">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the value [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#274-276">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblo [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#274-276">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#281-285">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="type" href="../type.ArrayRef.html" title= [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -99,7 +99,7 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#296-298">source</a><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[OffsetSize]</a></h4></section></summary><div class="docblock"><p>Returns [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#302-305">source</a><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; OffsetSize</h4></section></summary><div class="docblock"><p>Returns [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#308-310">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="type" href="../../iterator/type.GenericListArrayIter.html" title="type arrow_array::iterator::GenericListArrayIter">GenericListArrayIter</a>&lt;'a, OffsetSize&gt;</h4></ [...]
-</div></details><section id="method.get_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#313-320">source</a><h4 class="code-header">fn <a href="#method.get_type" class="fn">get_type</a>(data_type: &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum  [...]
+</div></details><section id="method.get_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#313-320">source</a><h4 class="code-header">fn <a href="#method.get_type" class="fn">get_type</a>(data_type: &amp;DataType) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;DataType&gt;</h4></section><details class="toggle method-toggle" open><summary><se [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_primitive" class="method"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#347-370">source</a><h4 class="code-header">pub fn <a href="#method.from_iter_primitive" class="fn">from_iter_primitive</a>&lt;T, P, I&gt;(iter: I) -&gt; Self<div class="where">where
     T: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,
     P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a cl [...]
@@ -114,8 +114,8 @@ allowing for zero-copy cloning</p>
 ];
 <span class="kw">let </span>list_array = ListArray::from_iter_primitive::&lt;Int32Type, <span class="kw">_</span>, <span class="kw">_</span>&gt;(data);
 <span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericListArray%3COffsetSize%3E-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#411-457">source</a><a href="#impl-GenericListArray%3COffsetSize%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="trait.OffsetSizeTrait.html" title="trait arrow_array::array::list_array::OffsetSizeTrait">OffsetS [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#464-466">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class= [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericListArray%3COffsetSize%3E-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#411-457">source</a><a href="#impl-GenericListArray%3COffsetSize%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="trait.OffsetSizeTrait.html" title="trait arrow_array::array::list_array::OffsetSizeTrait">OffsetS [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#464-466">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/list_array.rs.html#492-494">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="htt [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -124,7 +124,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt [...]
     OffsetSize: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="tr [...]
diff --git a/arrow_array/array/list_array/type.LargeListArray.html b/arrow_array/array/list_array/type.LargeListArray.html
index 05b1370f276..2e8b1cd12ad 100644
--- a/arrow_array/array/list_array/type.LargeListArray.html
+++ b/arrow_array/array/list_array/type.LargeListArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericListArray` of variable size lists, storing offsets as `i64`."><title>LargeListArray in arrow_array::array::list_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSa [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeListArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" c [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" [...]
\ No newline at end of file
diff --git a/arrow_array/array/list_array/type.ListArray.html b/arrow_array/array/list_array/type.ListArray.html
index eb5316c0ab0..c885f8107d2 100644
--- a/arrow_array/array/list_array/type.ListArray.html
+++ b/arrow_array/array/list_array/type.ListArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericListArray` of variable size lists, storing offsets as `i32`."><title>ListArray in arrow_array::array::list_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Re [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ListArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" c [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" [...]
\ No newline at end of file
diff --git a/arrow_array/array/map_array/struct.MapArray.html b/arrow_array/array/map_array/struct.MapArray.html
index 7277bc6361f..411b6f2e916 100644
--- a/arrow_array/array/map_array/struct.MapArray.html
+++ b/arrow_array/array/map_array/struct.MapArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of key-value maps"><title>MapArray in arrow_array::array::map_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8 [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     entries: <a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
@@ -8,15 +8,15 @@
 <p><a href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> is physically a <a href="../list_array/type.ListArray.html" title="type arrow_array::array::list_array::ListArray"><code>ListArray</code></a> of key values pairs stored as an <code>entries</code>
 <a href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> with 2 child fields.</p>
 <p>See <a href="../../builder/map_builder/struct.MapBuilder.html" title="struct arrow_array::builder::map_builder::MapBuilder"><code>MapBuilder</code></a> for how to construct a <a href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.htm [...]
 </div><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</code></span><div class="docblock"><p>The start and end offsets of each entry</p>
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#45-233">source</a><a href="#impl-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MapArray.html" title="struct arrow_arr [...]
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     entries: <a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> from the provided parts</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> from the provided parts</p>
 <p>See <a href="../../builder/map_builder/struct.MapBuilder.html" title="struct arrow_array::builder::map_builder::MapBuilder"><code>MapBuilder</code></a> for a higher-level interface
 to construct a <a href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
@@ -30,7 +30,7 @@ to construct a <a href="struct.MapArray.html" title="struct arrow_array::array::
 <li><code>field.data_type() != entries.data_type()</code></li>
 </ul>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#125-133">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
-    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     entries: <a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
@@ -42,15 +42,15 @@ to construct a <a href="struct.MapArray.html" title="struct arrow_array::array::
 <p>Panics if <a href="struct.MapArray.html#method.try_new" title="associated function arrow_array::array::map_array::MapArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#136-150">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;, <a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum c [...]
+) -&gt; (FieldRef, OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;, <a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#157-159">source</a><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a referen [...]
 <p>Unlike <a href="struct.MapArray.html#method.value_offsets" title="method arrow_array::array::map_array::MapArray::value_offsets"><code>Self::value_offsets</code></a> this returns the [<code>OffsetBuffer</code>]
 allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#162-164">source</a><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the keys of this [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#167-169">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the values [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.entries" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#172-174">source</a><h4 class="code-header">pub fn <a href="#method.entries" class="fn">entries</a>(&amp;self) -&gt; &amp;<a class="struct" href="../struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a></h4></section></summary><div class="d [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.key_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#177-179">source</a><h4 class="code-header">pub fn <a href="#method.key_type" class="fn">key_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#182-184">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="do [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.key_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#177-179">source</a><h4 class="code-header">pub fn <a href="#method.key_type" class="fn">key_type</a>(&amp;self) -&gt; &amp;DataType</h4></section></summary><div class="docblock"><p>Returns the data type of the map’s keys.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#182-184">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; &amp;DataType</h4></section></summary><div class="docblock"><p>Returns the data type of the map’s values.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#190-195">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct_array/struct.Struc [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -60,13 +60,13 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#214-217">source</a><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/pri [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#220-227">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.h [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#230-232">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="type" href="../../iterator/type.MapArrayIter.html" title="type arrow_array::iterator::MapArrayIter">MapArrayIter</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>constru [...]
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#255-344">source</a><a href="#impl-MapArray-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><section id="method.tr [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#255-344">source</a><a href="#impl-MapArray-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><section id="method.tr [...]
     keys: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     values: &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>,
     entry_offsets: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>]
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates map array from provided keys, values and entry_offsets.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates map array from provided keys, values and entry_offsets.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-MapArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#346-400">source</a><a href="#impl-Array-for-MapArray" class="anchor">§</a><h3 class="code-heade [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#351-353">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class=" [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#351-353">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData< [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/map_array.rs.html#379-381">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="http [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -75,7 +75,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MapArray" class="impl"><a href="#impl-Freeze-for-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ma [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/null_array/struct.NullArray.html b/arrow_array/array/null_array/struct.NullArray.html
index 5964ec80559..b9b10581bb7 100644
--- a/arrow_array/array/null_array/struct.NullArray.html
+++ b/arrow_array/array/null_array/struct.NullArray.html
@@ -13,13 +13,13 @@
 <span class="macro">assert_eq!</span>(array.logical_nulls().unwrap().null_count(), <span class="number">10</span>);</code></pre></div>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list" [...]
 <p><em>Note</em>: Use <a href="../fn.new_null_array.html" title="fn arrow_array::array::new_null_array"><code>crate::array::new_null_array</code></a> if you need an array of some
-other <a href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>.</p>
+other [<code>DataType</code>].</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#60-67">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#73-75">source</a><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../../builder/null_builder/struct.NullBuilder.html" title="stru [...]
 <p>Note that the <code>capacity</code> parameter to this function is <em>deprecated</em>. It
 now does nothing, and will be removed in a future version.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-NullArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#78-130">source</a><a href="#impl-Array-for-NullArray" class="anchor">§</a><h3 class="code-hea [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#83-85">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="s [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#83-85">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</ [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#111-113">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="htt [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#119-121">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -& [...]
@@ -28,7 +28,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/null_array.rs.html#127-129">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&am [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" hr [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-NullArray" class="impl"><a href="#impl-Freeze-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/primitive_array/struct.PrimitiveArray.html b/arrow_array/array/primitive_array/struct.PrimitiveArray.html
index e54244426af..8f35cd4f20a 100644
--- a/arrow_array/array/primitive_array/struct.PrimitiveArray.html
+++ b/arrow_array/array/primitive_array/struct.PrimitiveArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of primitive values"><title>PrimitiveArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fir [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">primitive values</a></p>
@@ -36,7 +36,7 @@ builder.append_value(<span class="number">2</span>);
 <span class="comment">// Note: values for null indexes are arbitrary
 </span><span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">0</span>, <span class="number">2</span>]);
 <span class="macro">assert!</span>(array.is_null(<span class="number">1</span>));</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.value [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimit [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" op [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct.PrimitiveArray.html#method.try_new" title="associated function arrow_array::array::primitive_array::PrimitiveArray::try_new"><code>Self::try_new</code></a> returns an error</p>
@@ -53,7 +53,7 @@ this constructor is the most performant approach, avoiding any additional alloca
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#541-560">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     values: ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> from the p [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> from the provided values and nulls</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if:</p>
 <ul>
@@ -62,18 +62,18 @@ this constructor is the most performant approach, avoiding any additional alloca
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#563-569">source</a><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>) -&gt; < [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#572-574">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>, ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></se [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#584-587">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; Self</h4></section [...]
+) -&gt; (DataType, ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array into its constituent parts</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#584-587">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the [<code>DataType</code>] of this <a href="struct.PrimitiveArray.html" titl [...]
 <p>Prefer using <a href="struct.PrimitiveArray.html#method.with_timezone" title="method arrow_array::array::primitive_array::PrimitiveArray::with_timezone"><code>Self::with_timezone</code></a> or <a href="struct.PrimitiveArray.html#method.with_precision_and_scale" title="method arrow_array::array::primitive_array::PrimitiveArray::with_precision_and_scale"><code>Self::with_precision_and_scale</code></a> where
 the primitive type is suitably constrained, as these cannot panic</p>
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>Panics if ![Self::is_compatible]</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.assert_compatible" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#590-597">source</a><h4 class="code-header">fn <a href="#method.assert_compatible" class="fn">assert_compatible</a>(data_type: &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>)</h4></section></summ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.assert_compatible" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#590-597">source</a><h4 class="code-header">fn <a href="#method.assert_compatible" class="fn">assert_compatible</a>(data_type: &amp;DataType)</h4></section></summary><div class="docblock"><p>Asserts that <code>data_type</code> is compatible with <code>Self</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#601-603">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length of this array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#606-608">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this array is e [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#612-614">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;ScalarBuffer&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native"> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#617-619">source</a><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../../builder/primitive_builder/struct.PrimitiveBuilder.h [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_compatible" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#625-634">source</a><h4 class="code-header">pub fn <a href="#method.is_compatible" class="fn">is_compatible</a>(data_type: &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; <a class="primitive" h [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_compatible" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#625-634">source</a><h4 class="code-header">pub fn <a href="#method.is_compatible" class="fn">is_compatible</a>(data_type: &amp;DataType) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>R [...]
 <p>This is equivalent to <code>data_type == T::DATA_TYPE</code>, however ignores timestamp
 timezones and decimal precision and scale</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#642-644">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; T::<a class="associatedtype" href="../../types [...]
@@ -199,13 +199,13 @@ I.e. that <code>size_hint().1</code> correctly reports its length.</p>
     self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
     scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a Decimal array with the same data as self, with the
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Returns a Decimal array with the same data as self, with the
 specified precision and scale.</p>
 <p>See <a href="../../types/fn.validate_decimal_precision_and_scale.html" title="fn arrow_array::types::validate_decimal_precision_and_scale"><code>validate_decimal_precision_and_scale</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.validate_decimal_precision" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1420-1429">source</a><h4 class="code-header">pub fn <a href="#method.validate_decimal_precision" class="fn">validate_decimal_precision</a>(
     &amp;self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validates values in this array can be properly interpreted
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Validates values in this array can be properly interpreted
 with the specified precision.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.null_if_overflow_precision" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1433-1437">source</a><h4 class="code-header">pub fn <a href="#method.null_if_overflow_precision" class="fn">null_if_overflow_precision</a>(&amp;self, precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; Self</h4></secti [...]
 will be casted to Null</p>
@@ -213,7 +213,7 @@ will be casted to Null</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.precision" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1445-1469">source</a><h4 class="code-header">pub fn <a href="#method.precision" class="fn">precision</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Returns the decimal precision  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.scale" class="method"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1472-1496">source</a><h4 class="code-header">pub fn <a href="#method.scale" class="fn">scale</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></h4></section></summary><div class="docblock"><p>Returns the decimal scale of this array</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-PrimitiveArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#988-1036">source</a><a href="#impl-Array-for-PrimitiveArray%3CT%3E" class="a [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#993-995">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a c [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#993-995">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; Arra [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1021-1023">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" hr [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -222,8 +222,8 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1388-1402">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../../../arrow_data/data/struct.ArrayDat [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1388-1402">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: ArrayData) -&gt; Self</h4></section></summary><div class='docblo [...]
     data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../types/struct.DurationMicrosecondType.html" title="struct arrow_array::types::DurationMicrosecondType">DurationMicrosecondType</a> as <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../typ [...]
 ) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDurationMillisecondType+as+ArrowPrimitiveType%3E::Native%3E%3E-for-PrimitiveArray%3CDurationMillisecondType%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/primitive_array.rs.html#1332">source</a><a href="#impl-From%3CVec%3C%3CDurationM [...]
     data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../types/struct.DurationMillisecondType.html" title="struct arrow_array::types::DurationMillisecondType">DurationMillisecondType</a> as <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../typ [...]
diff --git a/arrow_array/array/primitive_array/type.Date32Array.html b/arrow_array/array/primitive_array/type.Date32Array.html
index 8eec49d2cd2..8ba55449581 100644
--- a/arrow_array/array/primitive_array/type.Date32Array.html
+++ b/arrow_array/array/primitive_array/type.Date32Array.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
 values such as <code>2018-11-13</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date32Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Date32Array" async></script></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Date64Array.html b/arrow_array/array/primitive_array/type.Date64Array.html
index b6d7ca5a578..74a6e30cd4f 100644
--- a/arrow_array/array/primitive_array/type.Date64Array.html
+++ b/arrow_array/array/primitive_array/type.Date64Array.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
 values such as <code>2018-11-13</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date64Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Date64Array" async></script></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Decimal128Array.html b/arrow_array/array/primitive_array/type.Decimal128Array.html
index a3bb82db282..8e66eb539e0 100644
--- a/arrow_array/array/primitive_array/type.Decimal128Array.html
+++ b/arrow_array/array/primitive_array/type.Decimal128Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Decimal128Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal128Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Decimal128Array" async></script></section></div [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Decimal256Array.html b/arrow_array/array/primitive_array/type.Decimal256Array.html
index 212a67a3cbf..dfa3374d996 100644
--- a/arrow_array/array/primitive_array/type.Decimal256Array.html
+++ b/arrow_array/array/primitive_array/type.Decimal256Array.html
@@ -11,8 +11,8 @@
 </span><span class="kw">let </span>arr: Decimal256Array = std::iter::repeat(i256::from(<span class="number">42</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal256Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;i256&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;i256&gt;</code></span><div class="docblock"><p>Values data</p>
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Decimal256Array" async></script></section></div [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.DurationMicrosecondArray.html b/arrow_array/array/primitive_array/type.DurationMicrosecondArray.html
index 58c3e7db6db..6712cc6a2d7 100644
--- a/arrow_array/array/primitive_array/type.DurationMicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationMicrosecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in microseconds"><title>DurationMicrosecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSa [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMicrosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationMicrosecondArray" async></script></sect [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.DurationMillisecondArray.html b/arrow_array/array/primitive_array/type.DurationMillisecondArray.html
index ece6e561ac5..b6a10932c6d 100644
--- a/arrow_array/array/primitive_array/type.DurationMillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationMillisecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in milliseconds"><title>DurationMillisecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSa [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMillisecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationMillisecondArray" async></script></sect [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.DurationNanosecondArray.html b/arrow_array/array/primitive_array/type.DurationNanosecondArray.html
index f2d678e5596..a76241f2f64 100644
--- a/arrow_array/array/primitive_array/type.DurationNanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationNanosecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in nanoseconds"><title>DurationNanosecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationNanosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationNanosecondArray" async></script></secti [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.DurationSecondArray.html b/arrow_array/array/primitive_array/type.DurationSecondArray.html
index 505cb0903f6..697ecf7d69b 100644
--- a/arrow_array/array/primitive_array/type.DurationSecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationSecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in seconds"><title>DurationSecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationSecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationSecondArray" async></script></section>< [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Float16Array.html b/arrow_array/array/primitive_array/type.Float16Array.html
index 40f15c16c8e..15118e57334 100644
--- a/arrow_array/array/primitive_array/type.Float16Array.html
+++ b/arrow_array/array/primitive_array/type.Float16Array.html
@@ -14,8 +14,8 @@
 <span class="kw">let </span>arr : Float16Array = [<span class="prelude-val">Some</span>(f16::from_f64(<span class="number">1.0</span>)), <span class="prelude-val">Some</span>(f16::from_f64(<span class="number">2.0</span>))].into_iter().collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float16Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/s [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float16Array" async></script></section></div></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Float32Array.html b/arrow_array/array/primitive_array/type.Float32Array.html
index b2eb2c0179e..a6361cbe62a 100644
--- a/arrow_array/array/primitive_array/type.Float32Array.html
+++ b/arrow_array/array/primitive_array/type.Float32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Float32Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float32Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float32Array" async></script></section></div></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Float64Array.html b/arrow_array/array/primitive_array/type.Float64Array.html
index 61816d9e151..1870aff7c00 100644
--- a/arrow_array/array/primitive_array/type.Float64Array.html
+++ b/arrow_array/array/primitive_array/type.Float64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Float32Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float64Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float64Array" async></script></section></div></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Int16Array.html b/arrow_array/array/primitive_array/type.Int16Array.html
index 84895a4cc1a..1c96c30d6be 100644
--- a/arrow_array/array/primitive_array/type.Int16Array.html
+++ b/arrow_array/array/primitive_array/type.Int16Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int16Array" async></script></section></div></ma [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Int32Array.html b/arrow_array/array/primitive_array/type.Int32Array.html
index 8788b3d8b13..f8433e63b3c 100644
--- a/arrow_array/array/primitive_array/type.Int32Array.html
+++ b/arrow_array/array/primitive_array/type.Int32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int32Array" async></script></section></div></ma [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Int64Array.html b/arrow_array/array/primitive_array/type.Int64Array.html
index b3c2f31e419..382920c9112 100644
--- a/arrow_array/array/primitive_array/type.Int64Array.html
+++ b/arrow_array/array/primitive_array/type.Int64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int64Array" async></script></section></div></ma [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Int8Array.html b/arrow_array/array/primitive_array/type.Int8Array.html
index 65d2d319083..7c4f1a8eadb 100644
--- a/arrow_array/array/primitive_array/type.Int8Array.html
+++ b/arrow_array/array/primitive_array/type.Int8Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int8Array" async></script></section></div></mai [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html b/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html
index de6d0a046e5..0fb0446761d 100644
--- a/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in days and milliseconds"><title>IntervalDayTimeArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff [...]
 <p>See <a href="../../types/struct.IntervalDayTimeType.html" title="struct arrow_array::types::IntervalDayTimeType"><code>IntervalDayTimeType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalDayTimeArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;IntervalDayTime&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;IntervalDayTime&gt;</code></span><div class="docblock"><p>Values data</p>
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalDayTimeArray" async></script></section> [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html b/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html
index a6cfd254929..75b07ff39ae 100644
--- a/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in  months, days, and nanoseconds."><title>IntervalMonthDayNanoArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaaf [...]
 <p>See <a href="../../types/struct.IntervalMonthDayNanoType.html" title="struct arrow_array::types::IntervalMonthDayNanoType"><code>IntervalMonthDayNanoType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalMonthDayNanoArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;IntervalMonthDayNano&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;IntervalMonthDayNano&gt;</code></span><div class="docblock"><p>Val [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalMonthDayNanoArray" async></script></sec [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html b/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html
index f1da2b6aef0..7ce92d2df26 100644
--- a/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in months"><title>IntervalYearMonthArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Re [...]
 <p>See <a href="../../types/struct.IntervalYearMonthType.html" title="struct arrow_array::types::IntervalYearMonthType"><code>IntervalYearMonthType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalYearMonthArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalYearMonthArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Time32MillisecondArray.html b/arrow_array/array/primitive_array/type.Time32MillisecondArray.html
index d295db3a79d..820b457736a 100644
--- a/arrow_array/array/primitive_array/type.Time32MillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time32MillisecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32MillisecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time32MillisecondArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Time32SecondArray.html b/arrow_array/array/primitive_array/type.Time32SecondArray.html
index 59165be1c40..958b49f0d95 100644
--- a/arrow_array/array/primitive_array/type.Time32SecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time32SecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32SecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time32SecondArray" async></script></section></d [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html b/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html
index 85a864ee901..6b052656faa 100644
--- a/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123456</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64MicrosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time64MicrosecondArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.Time64NanosecondArray.html b/arrow_array/array/primitive_array/type.Time64NanosecondArray.html
index 0a153afc203..3cc25ab2286 100644
--- a/arrow_array/array/primitive_array/type.Time64NanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time64NanosecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123456789</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64NanosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time64NanosecondArray" async></script></section [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html b/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html
index 91f79659a78..01b9be50ab0 100644
--- a/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of microseconds since UNIX epoch stored as `i64`"><title>TimestampMicrosecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf [...]
 <p>See examples for <a href="type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMicrosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampMicrosecondArray" async></script></sec [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html b/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html
index 6ef2a3eb6e1..8655aa7bafd 100644
--- a/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of milliseconds since UNIX epoch stored as `i64`"><title>TimestampMillisecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf [...]
 <p>See examples for <a href="type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMillisecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampMillisecondArray" async></script></sec [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html b/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html
index 10a6ef3a0e8..df129445d12 100644
--- a/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of nanoseconds since UNIX epoch stored as `i64`"><title>TimestampNanosecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.w [...]
 <p>See examples for <a href="type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampNanosecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampNanosecondArray" async></script></sect [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.TimestampSecondArray.html b/arrow_array/array/primitive_array/type.TimestampSecondArray.html
index 7fb30932df0..a2e0490ff7b 100644
--- a/arrow_array/array/primitive_array/type.TimestampSecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampSecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of seconds since UNIX epoch stored as `i64`"><title>TimestampSecondArray in arrow_array::array::primitive_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fir [...]
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/datetime/struct.DateTime.html" title="struct chrono::datetime::DateTime"><code>chrono::DateTime</code></a> type and can hold
 values such as <code>1970-05-09 14:25:11 +01:00</code></p>
-<p>See also <a href="../../../arrow_schema/datatype/enum.DataType.html#variant.Timestamp" title="variant arrow_schema::datatype::DataType::Timestamp"><code>Timestamp</code></a>.</p>
+<p>See also <a href="arrow_schema::DataType::Timestamp"><code>Timestamp</code></a>.</p>
 <h2 id="example-utc-timestamps-post-epoch"><a class="doc-anchor" href="#example-utc-timestamps-post-epoch">§</a>Example: UTC timestamps post epoch</h2>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::timezone::Tz;
 <span class="comment">// Corresponds to single element array with entry 1970-05-09T14:25:11+0:00
@@ -31,8 +31,8 @@ values such as <code>1970-05-09 14:25:11 +01:00</code></p>
 <span class="macro">assert_eq!</span>(arr.value_as_datetime_with_tz(<span class="number">0</span>, sydney_tz).map(|v| v.to_string()).unwrap(), <span class="string">"1970-05-10 00:25:11 +10:00"</span>)</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampSecondArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampSecondArray" async></script></section> [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.UInt16Array.html b/arrow_array/array/primitive_array/type.UInt16Array.html
index e527b85512a..fd5cdb95873 100644
--- a/arrow_array/array/primitive_array/type.UInt16Array.html
+++ b/arrow_array/array/primitive_array/type.UInt16Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt16Array" async></script></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.UInt32Array.html b/arrow_array/array/primitive_array/type.UInt32Array.html
index a1b77436778..65e7a347d24 100644
--- a/arrow_array/array/primitive_array/type.UInt32Array.html
+++ b/arrow_array/array/primitive_array/type.UInt32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt32Array" async></script></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.UInt64Array.html b/arrow_array/array/primitive_array/type.UInt64Array.html
index bbf6efb7f44..9b24960048e 100644
--- a/arrow_array/array/primitive_array/type.UInt64Array.html
+++ b/arrow_array/array/primitive_array/type.UInt64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt64Array" async></script></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_array/array/primitive_array/type.UInt8Array.html b/arrow_array/array/primitive_array/type.UInt8Array.html
index 6b2e406314d..3798b13f4f3 100644
--- a/arrow_array/array/primitive_array/type.UInt8Array.html
+++ b/arrow_array/array/primitive_array/type.UInt8Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8Array {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt8Array" async></script></section></div></ma [...]
\ No newline at end of file
diff --git a/arrow_array/array/run_array/struct.RunArray.html b/arrow_array/array/run_array/struct.RunArray.html
index 843259b4373..9e4f7a7eec7 100644
--- a/arrow_array/array/run_array/struct.RunArray.html
+++ b/arrow_array/array/run_array/struct.RunArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of run-end encoded values"><title>RunArray in arrow_array::array::run_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans- [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;R::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#run-end-encoded-layout">run-end encoded values</a></p>
@@ -26,12 +26,12 @@ stores the value of each run. Below example illustrates how a logical array is r
   
                                             Logical array
                                                Contents
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a hre [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;R::<a class="associatedtype" href="../. [...]
 by the given run_ends array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#94-119">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     run_ends: &amp;<a class="struct" href="../primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;R&gt;,
     values: &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create RunArray using given run_ends (index where a run ends)
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create RunArray using given run_ends (index where a run ends)
 and the values (value of the run). Returns an error if the given data is not compatible
 with RunEndEncoded specification.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.run_ends" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#122-124">source</a><h4 class="code-header">pub fn <a href="#method.run_ends" class="fn">run_ends</a>(&amp;self) -&gt; &amp;RunEndBuffer&lt;R::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native"> [...]
@@ -57,7 +57,7 @@ Performs a binary search on the run_ends array for the input index.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_physical_indices" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#182-245">source</a><h4 class="code-header">pub fn <a href="#method.get_physical_indices" class="fn">get_physical_indices</a>&lt;I&gt;(
     &amp;self,
     logical_indices: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[I]</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">Arro [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;, ArrowError&gt;<div class="where">where
     I: ArrowNativeType,</div></h4></section></summary><div class="docblock"><p>Returns the physical indices of the input logical indices. Returns error if any of the logical
 index cannot be converted to physical index. The logical indices are sorted and iterated along
 with run_ends array to find matching physical index. The approach used here was chosen over
@@ -67,7 +67,7 @@ scaled well for larger inputs.
 See <a href="https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727">https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727</a> for more details.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#248-254">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.h [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-RunArray%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#305-388">source</a><a href="#impl-Array-for-RunArray%3CT%3E" class="anchor">§</a><h3 cla [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#310-312">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class=" [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#310-312">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData< [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#338-340">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="http [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#375-377">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&g [...]
@@ -76,7 +76,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#383-387">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" hr [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 <h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{RunArray, PrimitiveArray, StringArray, types::Int16Type};
 
diff --git a/arrow_array/array/run_array/struct.TypedRunArray.html b/arrow_array/array/run_array/struct.TypedRunArray.html
index e9b403b98c2..f521fb8d93d 100644
--- a/arrow_array/array/run_array/struct.TypedRunArray.html
+++ b/arrow_array/array/run_array/struct.TypedRunArray.html
@@ -21,7 +21,7 @@
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#549-551">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this <a hre [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.run_array" class="method"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#554-556">source</a><h4 class="code-header">pub fn <a href="#method.run_array" class="fn">run_array</a>(&amp;self) -&gt; &amp;'a <a class="struct" href="struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray">RunArray</a>&lt;R&gt;</h4></section></summary><div class="docblock">< [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#559-611">source</a><a href="#impl-Array-for-TypedRunArray%3C'a,+R,+V%3E" cla [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#564-566">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class=" [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#564-566">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData< [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#592-594">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="http [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/run_array.rs.html#600-602">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&g [...]
diff --git a/arrow_array/array/run_array/type.Int16RunArray.html b/arrow_array/array/run_array/type.Int16RunArray.html
index 48872ccd31f..20ceb7b6e47 100644
--- a/arrow_array/array/run_array/type.Int16RunArray.html
+++ b/arrow_array/array/run_array/type.Int16RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16RunArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_e [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/run_array/type.Int32RunArray.html b/arrow_array/array/run_array/type.Int32RunArray.html
index 0aea791c5b5..3a4d1fdb86b 100644
--- a/arrow_array/array/run_array/type.Int32RunArray.html
+++ b/arrow_array/array/run_array/type.Int32RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32RunArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_e [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/run_array/type.Int64RunArray.html b/arrow_array/array/run_array/type.Int64RunArray.html
index cb275494ba9..eaba790b9fc 100644
--- a/arrow_array/array/run_array/type.Int64RunArray.html
+++ b/arrow_array/array/run_array/type.Int64RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64RunArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_e [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/string_array/type.GenericStringArray.html b/arrow_array/array/string_array/type.GenericStringArray.html
index 092abdbee3b..b87edbb4710 100644
--- a/arrow_array/array/string_array/type.GenericStringArray.html
+++ b/arrow_array/array/string_array/type.GenericStringArray.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericByteArray` for storing `str`"><title>GenericStringArray in arrow_array::array::string_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ff [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericStringArray&lt;OffsetSize&gt; {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../../types/struct.GenericStringType.html" title="struct arrow_array::types::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt; as <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../../types/struc [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_chars" class="method"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#37-39">source</a><h4 class="code-header">pub fn <a href="#method.num_chars" class="fn">num_chars</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u [...]
 <h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -22,7 +22,7 @@ please use the function <a href="#method.value_length"><code>value_length</code>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_binary" class="method"><a class="src rightside" href="../../../src/arrow_array/array/string_array.rs.html#62-65">source</a><h4 class="code-header">pub fn <a href="#method.try_from_binary" class="fn">try_from_binary</a>(
     v: <a class="type" href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray">GenericBinaryArray</a>&lt;OffsetSize&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray</code></a> [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray</code></a> from a <a href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinar [...]
 an error if <a href="../binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray"><code>GenericBinaryArray</code></a> contains invalid UTF-8 data</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/string [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
diff --git a/arrow_array/array/string_array/type.LargeStringArray.html b/arrow_array/array/string_array/type.LargeStringArray.html
index ff1766f2ac9..3c290aed2b8 100644
--- a/arrow_array/array/string_array/type.LargeStringArray.html
+++ b/arrow_array/array/string_array/type.LargeStringArray.html
@@ -15,8 +15,8 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">2</span>), <span class="string">"bar"</span>);</code></pre></div>
 <p>See <a href="../byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeStringArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/string_array/type.StringArray.html b/arrow_array/array/string_array/type.StringArray.html
index cd37c5cd349..c5ef52ef7fe 100644
--- a/arrow_array/array/string_array/type.StringArray.html
+++ b/arrow_array/array/string_array/type.StringArray.html
@@ -14,8 +14,8 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"foo"</span>);</code></pre></div>
 <p>See <a href="../byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringArray {
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield. [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/struct.BooleanArray.html b/arrow_array/array/struct.BooleanArray.html
index 428cb80a776..f034b52406c 100644
--- a/arrow_array/array/struct.BooleanArray.html
+++ b/arrow_array/array/struct.BooleanArray.html
@@ -72,7 +72,7 @@ each element of the provided arrays</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#259-261">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (BooleanBuffer, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section [...]
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BooleanArray-1" class="impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#396-401">source</a><a href="#impl-BooleanArray-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="boolean_array/struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h3></section></summa [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-BooleanArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#264-312">source</a><a href="#impl-Array-for-BooleanArray" class="anchor">§</a><h3 class="c [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#269-271">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struc [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#269-271">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4>< [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#297-299">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://d [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -81,7 +81,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BooleanArray" class="impl"><a href="#impl-Freeze-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/struct.DictionaryArray.html b/arrow_array/array/struct.DictionaryArray.html
index 7ec3ae775b8..f4299233350 100644
--- a/arrow_array/array/struct.DictionaryArray.html
+++ b/arrow_array/array/struct.DictionaryArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of dictionary encoded values"><title>DictionaryArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-M [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
@@ -56,7 +56,7 @@ builder.append_value(<span class="string">"b"</span>);
 
 <span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.downcast_dict::&lt;StringArray&gt;().unwrap().into_iter().collect();
 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">Some</span>(<span class="string">"b"</span>)]);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" clas [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arro [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
@@ -70,7 +70,7 @@ array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#289-314">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
 (indexes into the dictionary) and values (dictionary)
 array.</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
@@ -86,7 +86,7 @@ returns the corresponding key (index into the <code>values</code>
 array). Otherwise returns <code>None</code>.</p>
 <p>Panics if <code>values</code> is not a <a href="string_array/type.StringArray.html" title="type arrow_array::array::string_array::StringArray"><code>StringArray</code></a>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#367-369">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the dicti [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#372-374">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblo [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#372-374">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#377-379">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>The length of the dictionary is the length of  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#382-384">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether this dictionary is empty</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_ordered" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#387-389">source</a><h4 class="code-header">pub fn <a href="#method.is_ordered" class="fn">is_ordered</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Currently exists for compat [...]
@@ -163,7 +163,7 @@ or this function may panic.</p>
 <p>For each value in <a href="dictionary_array/struct.DictionaryArray.html#method.values" title="method arrow_array::array::dictionary_array::DictionaryArray::values"><code>Self::values</code></a> the corresponding bit will be set in the
 returned mask if it is referenced by a key in this <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a></p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#994-1013">source</a><a href="#impl-AnyDictionaryArray-for-Dictio [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#699-701">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="st [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#699-701">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#727-729">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https: [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#752-754">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; [...]
@@ -172,8 +172,8 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#760-764">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&am [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="ht [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#579-623">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../../arrow_data/data/struct.ArrayData.html" [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#579-623">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: ArrayData) -&gt; Self</h4></section></summary><div class='docblock'> [...]
 <h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{DictionaryArray, PrimitiveArray, StringArray, types::Int8Type};
 
diff --git a/arrow_array/array/struct.FixedSizeBinaryArray.html b/arrow_array/array/struct.FixedSizeBinaryArray.html
index 36f5ee10d19..0cec637e71b 100644
--- a/arrow_array/array/struct.FixedSizeBinaryArray.html
+++ b/arrow_array/array/struct.FixedSizeBinaryArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of fixed size binary arrays"><title>FixedSizeBinaryArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
@@ -22,7 +22,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
    <span class="kw">let </span>arr = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();
    <span class="macro">assert_eq!</span>(<span class="number">5</span>, arr.len())
 </code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_data" class="structfield section-header"><a href="#structfield.valu [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_data" class="structfield section-header"><a href="#structfield.value_data" class="anchor field">§</a><code>value_data: Buffer</code></span><span id="structfield.nulls" class="structfield  [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="fixed_size_binary_array/struct.FixedSizeBinaryArray.html#method.try_new" title="associated function arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#72-75">source</a><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https:/ [...]
@@ -30,7 +30,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="fixed_size_binary_array/struct.FixedSizeBinaryArray.html" title="struct arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray">< [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="fixed_size_binary_array/struct.FixedSizeBinaryArray.html" title="struct arrow_array::array::fixed_size_binary_array::FixedSizeBinaryArray"><code>FixedSizeBinaryArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -59,7 +59,7 @@ Sparsity means that the input argument can contain <code>None</code> items.</p>
 allowing for zero-copy cloning.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_data" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#195-197">source</a><h4 class="code-header">pub fn <a href="#method.value_data" class="fn">value_data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#200-215">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#242-313">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter" class="fn">try_from_sparse_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Resu [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#242-313">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter" class="fn">try_from_sparse_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Resu [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: This function will fail if the iterator produces only None values; prefer <code>try_from_sparse_iter_with_size</code></span></div></ [...]
 Sparsity means that items returned by the iterator are optional, i.e input argument can
@@ -80,7 +80,7 @@ contain <code>None</code> items.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter_with_size" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#339-390">source</a><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter_with_size" class="fn">try_from_sparse_iter_with_size</a>&lt;T, U&gt;(
     iter: T,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;<div class="where">where
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of sparse byte slices.
 Sparsity means that items returned by the iterator are optional, i.e input argument can
@@ -100,7 +100,7 @@ created.</p>
 <span class="kw">let </span>array = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();</code></pre></div>
 <h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
 <p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#409-456">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a cl [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#409-456">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Arrow [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = U&gt;,
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of byte slices.</p>
 <h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
@@ -115,7 +115,7 @@ created.</p>
 <p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
 </div></details><section id="method.value_offset_at" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#459-461">source</a><h4 class="code-header">fn <a href="#method.value_offset_at" class="fn">value_offset_at</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></secti [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeBinaryArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#576-624">source</a><a href="#impl-Array-for-FixedSizeBinaryArray" class= [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#581-583">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a cl [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#581-583">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; Array [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#609-611">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href= [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -124,7 +124,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 </div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#508-544">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="fixed_size_list_array/struct.FixedSizeLi [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeBinaryArray" class="impl"><a href="#impl-Freeze-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust- [...]
diff --git a/arrow_array/array/struct.FixedSizeListArray.html b/arrow_array/array/struct.FixedSizeListArray.html
index cd6e9d2f89d..0bb99bbce04 100644
--- a/arrow_array/array/struct.FixedSizeListArray.html
+++ b/arrow_array/array/struct.FixedSizeListArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of [fixed length lists], similar to JSON arrays (e.g. `[&quot;A&quot;, &quot;B&quot;]`)."><title>FixedSizeListArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac52 [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
@@ -71,8 +71,8 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>], list1.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());
 <span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>], list2.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());</code></pre></div>
 <p><a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-list-layout">fixed size arrays</a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values"  [...]
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayR [...]
+    field: FieldRef,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
@@ -80,11 +80,11 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="fixed_size_list_array/struct.FixedSizeListArray.html#method.try_new" title="associated function arrow_array::array::fixed_size_list_array::FixedSizeListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#145-205">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="fixed_size_list_array/struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>Fix [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="fixed_size_list_array/struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>FixedSizeListArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -92,16 +92,16 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <li><code>values.data_type() != field.data_type()</code></li>
 <li><code>!field.is_nullable() &amp;&amp; !nulls.expand(size).contains(values.logical_nulls())</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#215-224">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, size: <a class="primitive" href="https://doc.rust-lang.org [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#215-224">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: FieldRef, size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/pr [...]
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>Panics if</p>
 <ul>
 <li><code>size &lt; 0</code></li>
 <li><code>size * len</code> would overflow <code>usize</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#227-233">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, <a class="primitive" href="https://doc.rust-la [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#227-233">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (FieldRef, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, <a class="type" href="type.ArrayRef.html" title="type arrow_array: [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#236-238">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the  [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#241-243">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#241-243">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#246-249">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayR [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#255-257">source</a><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightl [...]
 <p>Note this doesn’t do any bound checking, for performance reason.</p>
@@ -124,7 +124,7 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#337-339">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="type" href="../iterator/type.FixedSizeListIter.html" title="type arrow_array::iterator::FixedSizeListIter">FixedSizeListIter</a>&lt;'_&gt;</h4></section></summary><div class= [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeListArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#375-427">source</a><a href="#impl-Array-for-FixedSizeListArray" class="ancho [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#380-382">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a clas [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#380-382">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayDa [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#408-410">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="h [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -133,7 +133,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 </div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#508-544">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="fixed_size_list_array/struct.FixedSizeLi [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeListArray" class="impl"><a href="#impl-Freeze-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang [...]
diff --git a/arrow_array/array/struct.GenericByteArray.html b/arrow_array/array/struct.GenericByteArray.html
index 5da8ecac4d6..7da0b277ea1 100644
--- a/arrow_array/array/struct.GenericByteArray.html
+++ b/arrow_array/array/struct.GenericByteArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of variable length byte arrays"><title>GenericByteArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSan [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
@@ -30,7 +30,7 @@ builder.append_value(<span class="string">"world"</span>);
 <span class="kw">let </span>array = builder.finish();
 <span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.iter().collect();
 <span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"world"</span>)]);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.v [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../types [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><a class="src rightside" href="../../src/arrow_array/array/binary_array.rs.html#36-38">source</a><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std [...]
 <p>See also <a href="byte_array/struct.GenericByteArray.html#method.from_iter_values" title="associated function arrow_array::array::byte_array::GenericByteArray::from_iter_values"><code>Self::from_iter_values</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><a class="src rightside" href="../../src/arrow_array/array/binary_array.rs.html#41-43">source</a><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/co [...]
@@ -44,7 +44,7 @@ builder.append_value(<span class="string">"world"</span>);
 ) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt; + 'a</h4></section></summary><div class="docblock"><p>Retur [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#105-415">source</a><a href="#impl-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt; <a class="struct" href="by [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#105-415">source</a><a href="#impl-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt; <a class="struct" href="by [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#114-120">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
     offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: Buffer,
@@ -56,7 +56,7 @@ builder.append_value(<span class="string">"world"</span>);
     offsets: OffsetBuffer&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> f [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>offsets.len() - 1 != nulls.len()</code></li>
@@ -97,7 +97,7 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#324-331">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.htm [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_builder" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#335-414">source</a><h4 class="code-header">pub fn <a href="#method.into_builder" class="fn">into_builder</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../builder/generic [...]
 offset and data buffers are not shared by others.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#25-66">source</a><a href="#impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="list_array/trait.OffsetSizeTrait.html" title="trait arrow_ [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#25-66">source</a><a href="#impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="list_array/trait.OffsetSizeTrait.html" title="trait arrow_ [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_chars" class="method"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#37-39">source</a><h4 class="code-header">pub fn <a href="#method.num_chars" class="fn">num_chars</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usiz [...]
 <h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -115,10 +115,10 @@ please use the function <a href="#method.value_length"><code>value_length</code>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_binary" class="method"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#62-65">source</a><h4 class="code-header">pub fn <a href="#method.try_from_binary" class="fn">try_from_binary</a>(
     v: <a class="type" href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray">GenericBinaryArray</a>&lt;OffsetSize&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray< [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray</code></a> from a <a href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::Ge [...]
 an error if <a href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray"><code>GenericBinaryArray</code></a> contains invalid UTF-8 data</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#427-476">source</a><a href="#impl-Array-for-GenericByteArray%3CT%3E" class="anchor [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#432-434">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct"  [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#432-434">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></se [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#460-462">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc. [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -127,7 +127,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt; + 'a,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a class="src  [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a class="src rightsi [...]
     &lt;T as <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></sec [...]
diff --git a/arrow_array/array/struct.GenericByteViewArray.html b/arrow_array/array/struct.GenericByteViewArray.html
index 313d334c70f..69cd0e703d9 100644
--- a/arrow_array/array/struct.GenericByteViewArray.html
+++ b/arrow_array/array/struct.GenericByteViewArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Variable-size Binary View Layout: An array of variable length bytes view arrays."><title>GenericByteViewArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fi [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;T&gt;,
@@ -58,7 +58,7 @@ view. In this case, the same bytes for “Fish” are used to store both strings
                                  u128 &quot;views&quot;                              │Yay│
                                                                   buffer 0 │...│
                                                                            └───┘
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href="#st [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang [...]
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
@@ -69,7 +69,7 @@ view. In this case, the same bytes for “Fish” are used to store both strings
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="byte_view_array/struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericByteViewArray"><code>GenericByte [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="byte_view_array/struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_array::GenericByteViewArray"><code>GenericByteViewArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <ul>
 <li><code>views.len() != nulls.len()</code></li>
@@ -97,14 +97,14 @@ view. In this case, the same bytes for “Fish” are used to store both strings
 <p>Caller is responsible for ensuring that the index is within the bounds of the array</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#254-256">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow_array::iterator::ArrayIter">ArrayIter</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#259-267">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usiz [...]
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CBinaryViewType%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#415-429">source</a><a href="#impl-GenericByteViewArray%3CBinaryViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="byte_view_array/struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_arr [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CBinaryViewType%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#415-429">source</a><a href="#impl-GenericByteViewArray%3CBinaryViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="byte_view_array/struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_arr [...]
 If items not utf8 data, validate will fail and error returned.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_string_view_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#426-428">source</a><h4 class="code-header">pub unsafe fn <a href="#method.to_string_view_unchecked" class="fn">to_string_view_unchecked</a>(self) -&gt; <a class="type" href="byte_view_array/type.StringViewArray.html" title="type arrow_array::array::byte_view_array::StringViewArra [...]
 <h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
 <p>Caller is responsible for ensuring that items in array are utf8 data.</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CStringViewType%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#454-459">source</a><a href="#impl-GenericByteViewArray%3CStringViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="byte_view_array/struct.GenericByteViewArray.html" title="struct arrow_array::array::byte_view_arr [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteViewArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#280-329">source</a><a href="#impl-Array-for-GenericByteViewArray%3CT%3E"  [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#285-287">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="str [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#285-287">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4 [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#313-315">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https:/ [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -113,7 +113,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../types/trait.ByteViewType.html#associatedtype.Native" title="type arrow_array::types::ByteViewType::Native">Native</a>&gt; + 'a,
     T: <a class="trait" href="../types/trait.ByteViewType.html" title="trait arrow_array::types::ByteViewType">ByteViewType</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_ [...]
     Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../types/trait.ByteViewType.html#associatedtype.Native" title="type arrow_array::types::ByteViewType::Native">Native</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a class="src rightside [...]
diff --git a/arrow_array/array/struct.GenericListArray.html b/arrow_array/array/struct.GenericListArray.html
index 4efe42ee7ce..755069c79f9 100644
--- a/arrow_array/array/struct.GenericListArray.html
+++ b/arrow_array/array/struct.GenericListArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of variable length lists, similar to JSON arrays (e.g. `[&quot;A&quot;, &quot;B&quot;, &quot;C&quot;]`)."><title>GenericListArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular- [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     value_offsets: OffsetBuffer&lt;OffsetSize&gt;,
@@ -58,15 +58,15 @@ the actual <code>ListArray</code> encoding on the right.</p>
                                         └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
 
 
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#st [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
 The input is the schema of the child array and
-the output is the <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>, List or LargeList.</p>
+the output is the [<code>DataType</code>], List or LargeList.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#165-215">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;OffsetSize&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="list_array/struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> f [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="list_array/struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> from the provided parts</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if</p>
 <ul>
@@ -76,22 +76,22 @@ the output is the <a href="../../arrow_schema/datatype/enum.DataType.html" title
 <li><code>field.data_type() != values.data_type()</code></li>
 </ul>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#222-229">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;OffsetSize&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="list_array/struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a> from the provided parts</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="list_array/struct.GenericListArray.html#method.try_new" title="associated function arrow_array::array::list_array::GenericListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#232-240">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#232-240">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: FieldRef, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#243-256">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, OffsetBuffer&lt;OffsetSize&gt;, <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array into it [...]
+) -&gt; (FieldRef, OffsetBuffer&lt;OffsetSize&gt;, <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array into its constituent parts</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#263-265">source</a><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;OffsetBuffer&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a reference to the offsets of this list</p>
 <p>Unlike <a href="list_array/struct.GenericListArray.html#method.value_offsets" title="method arrow_array::array::list_array::GenericListArray::value_offsets"><code>Self::value_offsets</code></a> this returns the [<code>OffsetBuffer</code>]
 allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#269-271">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the values of t [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#274-276">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock"><p [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#274-276">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; DataType</h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#281-285">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="type" href="type.ArrayRef.html" title="type  [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -99,7 +99,7 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#296-298">source</a><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[OffsetSize]</a></h4></section></summary><div class="docblock"><p>Returns th [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#302-305">source</a><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; OffsetSize</h4></section></summary><div class="docblock"><p>Returns th [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#308-310">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="type" href="../iterator/type.GenericListArrayIter.html" title="type arrow_array::iterator::GenericListArrayIter">GenericListArrayIter</a>&lt;'a, OffsetSize&gt;</h4></sectio [...]
-</div></details><section id="method.get_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#313-320">source</a><h4 class="code-header">fn <a href="#method.get_type" class="fn">get_type</a>(data_type: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core:: [...]
+</div></details><section id="method.get_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#313-320">source</a><h4 class="code-header">fn <a href="#method.get_type" class="fn">get_type</a>(data_type: &amp;DataType) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;DataType&gt;</h4></section><details class="toggle method-toggle" open><summary><secti [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_primitive" class="method"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#347-370">source</a><h4 class="code-header">pub fn <a href="#method.from_iter_primitive" class="fn">from_iter_primitive</a>&lt;T, P, I&gt;(iter: I) -&gt; Self<div class="where">where
     T: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,
     P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class [...]
@@ -114,8 +114,8 @@ allowing for zero-copy cloning</p>
 ];
 <span class="kw">let </span>list_array = ListArray::from_iter_primitive::&lt;Int32Type, <span class="kw">_</span>, <span class="kw">_</span>&gt;(data);
 <span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericListArray%3COffsetSize%3E-1" class="impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#411-457">source</a><a href="#impl-GenericListArray%3COffsetSize%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="list_array/trait.OffsetSizeTrait.html" title="trait arrow_array::array::list_array::OffsetSizeTrait" [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#464-466">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct"  [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericListArray%3COffsetSize%3E-1" class="impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#411-457">source</a><a href="#impl-GenericListArray%3COffsetSize%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize: <a class="trait" href="list_array/trait.OffsetSizeTrait.html" title="trait arrow_array::array::list_array::OffsetSizeTrait" [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#464-466">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></se [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#492-494">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc. [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -124,7 +124,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt [...]
     OffsetSize: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="tr [...]
diff --git a/arrow_array/array/struct.MapArray.html b/arrow_array/array/struct.MapArray.html
index c1adce97efc..4f136d7b656 100644
--- a/arrow_array/array/struct.MapArray.html
+++ b/arrow_array/array/struct.MapArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of key-value maps"><title>MapArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970 [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     entries: <a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
@@ -8,15 +8,15 @@
 <p><a href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> is physically a <a href="list_array/type.ListArray.html" title="type arrow_array::array::list_array::ListArray"><code>ListArray</code></a> of key values pairs stored as an <code>entries</code>
 <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> with 2 child fields.</p>
 <p>See <a href="../builder/map_builder/struct.MapBuilder.html" title="struct arrow_array::builder::map_builder::MapBuilder"><code>MapBuilder</code></a> for how to construct a <a href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" cl [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.htm [...]
 </div><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</code></span><div class="docblock"><p>The start and end offsets of each entry</p>
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#45-233">source</a><a href="#impl-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="map_array/struct.MapArray.html" title="struct ar [...]
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     entries: <a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> from the provided parts</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a> from the provided parts</p>
 <p>See <a href="../builder/map_builder/struct.MapBuilder.html" title="struct arrow_array::builder::map_builder::MapBuilder"><code>MapBuilder</code></a> for a higher-level interface
 to construct a <a href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
@@ -30,7 +30,7 @@ to construct a <a href="map_array/struct.MapArray.html" title="struct arrow_arra
 <li><code>field.data_type() != entries.data_type()</code></li>
 </ul>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#125-133">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
-    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
+    field: FieldRef,
     offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     entries: <a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
@@ -42,15 +42,15 @@ to construct a <a href="map_array/struct.MapArray.html" title="struct arrow_arra
 <p>Panics if <a href="map_array/struct.MapArray.html#method.try_new" title="associated function arrow_array::array::map_array::MapArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#136-150">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>, OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;, <a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::o [...]
+) -&gt; (FieldRef, OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;, <a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/prim [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#157-159">source</a><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a reference  [...]
 <p>Unlike <a href="map_array/struct.MapArray.html#method.value_offsets" title="method arrow_array::array::map_array::MapArray::value_offsets"><code>Self::value_offsets</code></a> this returns the [<code>OffsetBuffer</code>]
 allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#162-164">source</a><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the keys of this map</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#167-169">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a></h4></section></summary><div class="docblock"><p>Returns a reference to the values of th [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.entries" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#172-174">source</a><h4 class="code-header">pub fn <a href="#method.entries" class="fn">entries</a>(&amp;self) -&gt; &amp;<a class="struct" href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray">StructArray</a></h4></section></summary><div class="docbloc [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.key_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#177-179">source</a><h4 class="code-header">pub fn <a href="#method.key_type" class="fn">key_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock"><p>R [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#182-184">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.key_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#177-179">source</a><h4 class="code-header">pub fn <a href="#method.key_type" class="fn">key_type</a>(&amp;self) -&gt; &amp;DataType</h4></section></summary><div class="docblock"><p>Returns the data type of the map’s keys.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#182-184">source</a><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; &amp;DataType</h4></section></summary><div class="docblock"><p>Returns the data type of the map’s values.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#190-195">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct_array/struct.StructArray [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -60,13 +60,13 @@ allowing for zero-copy cloning</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#214-217">source</a><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primit [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#220-227">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#230-232">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="type" href="../iterator/type.MapArrayIter.html" title="type arrow_array::iterator::MapArrayIter">MapArrayIter</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>constructs a  [...]
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray-1" class="impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#255-344">source</a><a href="#impl-MapArray-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><section id="me [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray-1" class="impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#255-344">source</a><a href="#impl-MapArray-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><section id="me [...]
     keys: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     values: &amp;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>,
     entry_offsets: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>]
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates map array from provided keys, values and entry_offsets.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates map array from provided keys, values and entry_offsets.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-MapArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#346-400">source</a><a href="#impl-Array-for-MapArray" class="anchor">§</a><h3 class="code-header"> [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#351-353">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" h [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#351-353">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></sec [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#379-381">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.r [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -75,7 +75,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MapArray" class="impl"><a href="#impl-Freeze-for-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ma [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/struct.NullArray.html b/arrow_array/array/struct.NullArray.html
index 04922b7a3ef..70d78a03e9c 100644
--- a/arrow_array/array/struct.NullArray.html
+++ b/arrow_array/array/struct.NullArray.html
@@ -13,13 +13,13 @@
 <span class="macro">assert_eq!</span>(array.logical_nulls().unwrap().null_count(), <span class="number">10</span>);</code></pre></div>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list" [...]
 <p><em>Note</em>: Use <a href="fn.new_null_array.html" title="fn arrow_array::array::new_null_array"><code>crate::array::new_null_array</code></a> if you need an array of some
-other <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>.</p>
+other [<code>DataType</code>].</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#60-67">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">us [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#73-75">source</a><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../builder/null_builder/struct.NullBuilder.html" title="struct arr [...]
 <p>Note that the <code>capacity</code> parameter to this function is <em>deprecated</em>. It
 now does nothing, and will be removed in a future version.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-NullArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#78-130">source</a><a href="#impl-Array-for-NullArray" class="anchor">§</a><h3 class="code-header [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#83-85">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" hr [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#83-85">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></sect [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#111-113">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc. [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#119-121">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a cl [...]
@@ -28,7 +28,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#127-129">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="ht [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-NullArray" class="impl"><a href="#impl-Freeze-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/array/struct.PrimitiveArray.html b/arrow_array/array/struct.PrimitiveArray.html
index f536777f5da..9c9a95aee53 100644
--- a/arrow_array/array/struct.PrimitiveArray.html
+++ b/arrow_array/array/struct.PrimitiveArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of primitive values"><title>PrimitiveArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">primitive values</a></p>
@@ -36,7 +36,7 @@ builder.append_value(<span class="number">2</span>);
 <span class="comment">// Note: values for null indexes are arbitrary
 </span><span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">0</span>, <span class="number">2</span>]);
 <span class="macro">assert!</span>(array.is_null(<span class="number">1</span>));</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values"  [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitive [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" op [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="primitive_array/struct.PrimitiveArray.html#method.try_new" title="associated function arrow_array::array::primitive_array::PrimitiveArray::try_new"><code>Self::try_new</code></a> returns an error</p>
@@ -53,7 +53,7 @@ this constructor is the most performant approach, avoiding any additional alloca
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#541-560">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     values: ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></ [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> from the provided values and nulls</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if:</p>
 <ul>
@@ -62,18 +62,18 @@ this constructor is the most performant approach, avoiding any additional alloca
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#563-569">source</a><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>) -&gt; <a clas [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#572-574">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>, ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section> [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#584-587">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; Self</h4></section></sum [...]
+) -&gt; (DataType, ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;)</h4></section></summary><div class="docblock"><p>Deconstruct this array into its constituent parts</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#584-587">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the [<code>DataType</code>] of this <a href="primitive_array/struct.PrimitiveArr [...]
 <p>Prefer using <a href="primitive_array/struct.PrimitiveArray.html#method.with_timezone" title="method arrow_array::array::primitive_array::PrimitiveArray::with_timezone"><code>Self::with_timezone</code></a> or <a href="primitive_array/struct.PrimitiveArray.html#method.with_precision_and_scale" title="method arrow_array::array::primitive_array::PrimitiveArray::with_precision_and_scale"><code>Self::with_precision_and_scale</code></a> where
 the primitive type is suitably constrained, as these cannot panic</p>
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>Panics if ![Self::is_compatible]</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.assert_compatible" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#590-597">source</a><h4 class="code-header">fn <a href="#method.assert_compatible" class="fn">assert_compatible</a>(data_type: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>)</h4></section></summary><d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.assert_compatible" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#590-597">source</a><h4 class="code-header">fn <a href="#method.assert_compatible" class="fn">assert_compatible</a>(data_type: &amp;DataType)</h4></section></summary><div class="docblock"><p>Asserts that <code>data_type</code> is compatible with <code>Self</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#601-603">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length of this array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#606-608">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this array is empty.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#612-614">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;ScalarBuffer&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#617-619">source</a><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../builder/primitive_builder/struct.PrimitiveBuilder.html" t [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_compatible" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#625-634">source</a><h4 class="code-header">pub fn <a href="#method.is_compatible" class="fn">is_compatible</a>(data_type: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; <a class="primitive" href="h [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_compatible" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#625-634">source</a><h4 class="code-header">pub fn <a href="#method.is_compatible" class="fn">is_compatible</a>(data_type: &amp;DataType) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Retu [...]
 <p>This is equivalent to <code>data_type == T::DATA_TYPE</code>, however ignores timestamp
 timezones and decimal precision and scale</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#642-644">source</a><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; T::<a class="associatedtype" href="../types/trait [...]
@@ -199,13 +199,13 @@ I.e. that <code>size_hint().1</code> correctly reports its length.</p>
     self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
     scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a Decimal array with the same data as self, with the
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Returns a Decimal array with the same data as self, with the
 specified precision and scale.</p>
 <p>See <a href="../types/fn.validate_decimal_precision_and_scale.html" title="fn arrow_array::types::validate_decimal_precision_and_scale"><code>validate_decimal_precision_and_scale</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.validate_decimal_precision" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1420-1429">source</a><h4 class="code-header">pub fn <a href="#method.validate_decimal_precision" class="fn">validate_decimal_precision</a>(
     &amp;self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validates values in this array can be properly interpreted
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Validates values in this array can be properly interpreted
 with the specified precision.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.null_if_overflow_precision" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1433-1437">source</a><h4 class="code-header">pub fn <a href="#method.null_if_overflow_precision" class="fn">null_if_overflow_precision</a>(&amp;self, precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section> [...]
 will be casted to Null</p>
@@ -213,7 +213,7 @@ will be casted to Null</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.precision" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1445-1469">source</a><h4 class="code-header">pub fn <a href="#method.precision" class="fn">precision</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Returns the decimal precision of  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.scale" class="method"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1472-1496">source</a><h4 class="code-header">pub fn <a href="#method.scale" class="fn">scale</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></h4></section></summary><div class="docblock"><p>Returns the decimal scale of this array</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-PrimitiveArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#988-1036">source</a><a href="#impl-Array-for-PrimitiveArray%3CT%3E" class="anch [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#993-995">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="str [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#993-995">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4 [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1021-1023">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -222,8 +222,8 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1388-1402">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../../arrow_data/data/struct.ArrayData.html [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1388-1402">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: ArrayData) -&gt; Self</h4></section></summary><div class='docblock' [...]
     data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../types/struct.DurationMicrosecondType.html" title="struct arrow_array::types::DurationMicrosecondType">DurationMicrosecondType</a> as <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../types/trait. [...]
 ) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDurationMillisecondType+as+ArrowPrimitiveType%3E::Native%3E%3E-for-PrimitiveArray%3CDurationMillisecondType%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1332">source</a><a href="#impl-From%3CVec%3C%3CDurationMill [...]
     data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../types/struct.DurationMillisecondType.html" title="struct arrow_array::types::DurationMillisecondType">DurationMillisecondType</a> as <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../types/trait. [...]
diff --git a/arrow_array/array/struct.RunArray.html b/arrow_array/array/struct.RunArray.html
index a5cbf23304b..26c752ad769 100644
--- a/arrow_array/array/struct.RunArray.html
+++ b/arrow_array/array/struct.RunArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of run-end encoded values"><title>RunArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;R::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#run-end-encoded-layout">run-end encoded values</a></p>
@@ -26,12 +26,12 @@ stores the value of each run. Below example illustrates how a logical array is r
   
                                             Logical array
                                                Contents
-</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href=" [...]
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;R::<a class="associatedtype" href="../t [...]
 by the given run_ends array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#94-119">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     run_ends: &amp;<a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;R&gt;,
     values: &amp;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create RunArray using given run_ends (index where a run ends)
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create RunArray using given run_ends (index where a run ends)
 and the values (value of the run). Returns an error if the given data is not compatible
 with RunEndEncoded specification.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.run_ends" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#122-124">source</a><h4 class="code-header">pub fn <a href="#method.run_ends" class="fn">run_ends</a>(&amp;self) -&gt; &amp;RunEndBuffer&lt;R::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native [...]
@@ -57,7 +57,7 @@ Performs a binary search on the run_ends array for the input index.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_physical_indices" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#182-245">source</a><h4 class="code-header">pub fn <a href="#method.get_physical_indices" class="fn">get_physical_indices</a>&lt;I&gt;(
     &amp;self,
     logical_indices: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[I]</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowEr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;, ArrowError&gt;<div class="where">where
     I: ArrowNativeType,</div></h4></section></summary><div class="docblock"><p>Returns the physical indices of the input logical indices. Returns error if any of the logical
 index cannot be converted to physical index. The logical indices are sorted and iterated along
 with run_ends array to find matching physical index. The approach used here was chosen over
@@ -67,7 +67,7 @@ scaled well for larger inputs.
 See <a href="https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727">https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727</a> for more details.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#248-254">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-RunArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#305-388">source</a><a href="#impl-Array-for-RunArray%3CT%3E" class="anchor">§</a><h3 class= [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#310-312">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" h [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#310-312">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></sec [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#338-340">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.r [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#375-377">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a cla [...]
@@ -76,7 +76,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#383-387">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="ht [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 <h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{RunArray, PrimitiveArray, StringArray, types::Int16Type};
 
diff --git a/arrow_array/array/struct.StructArray.html b/arrow_array/array/struct.StructArray.html
index 163e569ebcd..d71977a717d 100644
--- a/arrow_array/array/struct.StructArray.html
+++ b/arrow_array/array/struct.StructArray.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of structs"><title>StructArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388 [...]
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#struct-layout">structs</a></p>
@@ -11,7 +11,7 @@ same length.</p>
 <p>However, there are a couple of key differences:</p>
 <ul>
 <li><a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> can be nested within other <a href="trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a>, including itself</li>
-<li><a href="../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can contain top-level metadata on its associated <a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema"><code>Schema</code></a></li>
+<li><a href="../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can contain top-level metadata on its associated [<code>Schema</code>][arrow_schema::Schema]</li>
 <li><a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> can contain top-level nulls, i.e. <code>null</code></li>
 <li><a href="../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can only represent nulls in its child columns, i.e. <code>{&quot;field&quot;: null}</code></li>
 </ul>
@@ -44,18 +44,18 @@ is no way to preserve them.</p>
 <span class="macro">assert_eq!</span>(<span class="number">4</span>, struct_array.len());
 <span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.null_count());
 <span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.offset());</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: < [...]
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: D [...]
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts, panicking on failure</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct_array/struct.StructArray.html#method.try_new" title="associated function arrow_array::array::struct_array::StructArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#104-164">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the pro [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if</p>
 <ul>
@@ -65,9 +65,9 @@ is no way to preserve them.</p>
 <li><code>arrays[i].len() != nulls.len()</code></li>
 <li><code>!fields[i].is_nullable() &amp;&amp; !nulls.contains(arrays[i].nulls())</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#167-179">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightl [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#167-179">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(fields: Fields, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a hre [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#186-198">source</a><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts without validation</p>
@@ -76,20 +76,20 @@ is no way to preserve them.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty_fields" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#205-215">source</a><h4 class="code-header">pub fn <a href="#method.new_empty_fields" class="fn">new_empty_fields</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>If <code>len != nulls.len()</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#218-224">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>, <a class="struct" href="https://doc.rust-lang.org/nig [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#218-224">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (Fields, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" ti [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#227-229">source</a><h4 class="code-header">pub fn <a href="#method.column" class="fn">column</a>(&amp;self, pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::Array [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_columns" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#232-234">source</a><h4 class="code-header">pub fn <a href="#method.num_columns" class="fn">num_columns</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Return the number of field [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.columns" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#237-239">source</a><h4 class="code-header">pub fn <a href="#method.columns" class="fn">columns</a>(&amp;self) -&gt; &amp;[<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>]</h4></section></summary><div class="docblock"><p>Returns the fields of the struc [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.columns_ref" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#243-245">source</a><h4 class="code-header">pub fn <a href="#method.columns_ref" class="fn">columns_ref</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" tit [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column_names" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#248-256">source</a><h4 class="code-header">pub fn <a href="#method.column_names" class="fn">column_names</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;<a class="primitive" href="https://do [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#259-264">source</a><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a></h4></section></summary><div class="docblock"><p>Returns  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#259-264">source</a><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&amp;self) -&gt; &amp;Fields</h4></section></summary><div class="docblock"><p>Returns the [<code>Fields</code>] of this <a href="struct_array/struct.StructArray.html" title="struct arrow_array::array::str [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column_by_name" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#271-276">source</a><h4 class="code-header">pub fn <a href="#method.column_by_name" class="fn">column_by_name</a>(&amp;self, column_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nig [...]
 <p>Note: A schema can currently have duplicate field names, in which case
 the first field will always be selected.
 This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#279-293">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-StructArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#343-396">source</a><a href="#impl-Array-for-StructArray" class="anchor">§</a><h3 class="code [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#348-350">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#348-350">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></ [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#376-378">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://do [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -98,7 +98,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
-opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
+opposite of <a href="trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">nu [...]
 <p>Note: A schema can currently have duplicate field names, in which case
 the first field will always be selected.
 This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
@@ -106,8 +106,8 @@ This issue will be addressed in <a href="https://issues.apache.org/jira/browse/A
 <p>Panics if the name is not in the schema.</p>
 </div></details><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" hr [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#324-341">source</a><a href="#impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a></h4></section></summary><di [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/struct_array.rs.html#324-341">source</a><a href="#impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = ArrowError</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details></div><h2 id=" [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/array/struct.TypedDictionaryArray.html b/arrow_array/array/struct.TypedDictionaryArray.html
index 341c906a49d..4eb1012c637 100644
--- a/arrow_array/array/struct.TypedDictionaryArray.html
+++ b/arrow_array/array/struct.TypedDictionaryArray.html
@@ -20,7 +20,7 @@
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#816-826">source</a><a href="#impl-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, K: <a [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#823-825">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this <a [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#828-880">source</a><a href="#impl-Array-for-TypedDictionaryArray% [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#833-835">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="st [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#833-835">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#861-863">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https: [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#869-871">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; [...]
diff --git a/arrow_array/array/struct.TypedRunArray.html b/arrow_array/array/struct.TypedRunArray.html
index 7a749f00dc7..950a85a2ccd 100644
--- a/arrow_array/array/struct.TypedRunArray.html
+++ b/arrow_array/array/struct.TypedRunArray.html
@@ -21,7 +21,7 @@
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#549-551">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this <a href=" [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.run_array" class="method"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#554-556">source</a><h4 class="code-header">pub fn <a href="#method.run_array" class="fn">run_array</a>(&amp;self) -&gt; &amp;'a <a class="struct" href="run_array/struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray">RunArray</a>&lt;R&gt;</h4></section></summary><div class="docb [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#559-611">source</a><a href="#impl-Array-for-TypedRunArray%3C'a,+R,+V%3E" class= [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#564-566">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" h [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#564-566">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></sec [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#592-594">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.r [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#600-602">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a cla [...]
diff --git a/arrow_array/array/struct.UnionArray.html b/arrow_array/array/struct.UnionArray.html
index 7167eab8a30..60a9537dcef 100644
--- a/arrow_array/array/struct.UnionArray.html
+++ b/arrow_array/array/struct.UnionArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of values of varying types"><title>UnionArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8 [...]
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;&gt;,
@@ -85,8 +85,8 @@ for examples.</p>
 
 <span class="kw">let </span>value = array.value(<span class="number">2</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
 <span class="macro">assert_eq!</span>(<span class="number">34</span>, value);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.type_ids" class="structfield section-header"><a href="#structfield.type_i [...]
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.type_ids" class="structfield section-header"><a href="#structfield.type_ids" class="anchor field">§</a><code>type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/night [...]
+    fields: UnionFields,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
@@ -104,11 +104,11 @@ corresponding array.</p>
 <p>In both cases above we use signed integer types to maintain compatibility with other
 Arrow implementations.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#174-230">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>,
+    fields: UnionFields,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
 <p>The order of child arrays child array order must match the fields order</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.child" class="method"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#238-242">source</a><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>) -&gt; &amp;<a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">A [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
@@ -130,7 +130,7 @@ in the <code>Union</code>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#307-328">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.ht [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#358-382">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="struct" href="../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>, ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.h [...]
+) -&gt; (UnionFields, ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc:: [...]
 <h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = UnionBuilder::new_dense();
 builder.append::&lt;Int32Type&gt;(<span class="string">"a"</span>, <span class="number">1</span>).unwrap();
@@ -153,7 +153,7 @@ To check validity correctly you must check the underlying vector.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#496-498">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></s [...]
 To get null count correctly you must check the underlying vector.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#446-448">source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#450-452">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#450-452">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></s [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#478-480">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -161,7 +161,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/union_array.rs.html#512-524">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;sel [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a cla [...]
-null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#286-288">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="pr [...]
+null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#286-288">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="pr [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id-1" class="anchor">§</a><h4 class="code-header">fn <a  [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/array/struct_array/struct.StructArray.html b/arrow_array/array/struct_array/struct.StructArray.html
index 9f11fc17ea0..4463c157709 100644
--- a/arrow_array/array/struct_array/struct.StructArray.html
+++ b/arrow_array/array/struct_array/struct.StructArray.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of structs"><title>StructArray in arrow_array::array::struct_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f [...]
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#struct-layout">structs</a></p>
@@ -11,7 +11,7 @@ same length.</p>
 <p>However, there are a couple of key differences:</p>
 <ul>
 <li><a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> can be nested within other <a href="../trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a>, including itself</li>
-<li><a href="../../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can contain top-level metadata on its associated <a href="../../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema"><code>Schema</code></a></li>
+<li><a href="../../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can contain top-level metadata on its associated [<code>Schema</code>][arrow_schema::Schema]</li>
 <li><a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> can contain top-level nulls, i.e. <code>null</code></li>
 <li><a href="../../record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a> can only represent nulls in its child columns, i.e. <code>{&quot;field&quot;: null}</code></li>
 </ul>
@@ -44,18 +44,18 @@ is no way to preserve them.</p>
 <span class="macro">assert_eq!</span>(<span class="number">4</span>, struct_array.len());
 <span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.null_count());
 <span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.offset());</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: < [...]
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: D [...]
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts, panicking on failure</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if <a href="struct.StructArray.html#method.try_new" title="associated function arrow_array::array::struct_array::StructArray::try_new"><code>Self::try_new</code></a> returns an error</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#104-164">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided part [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts, returning an error on failure</p>
 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
 <p>Errors if</p>
 <ul>
@@ -65,9 +65,9 @@ is no way to preserve them.</p>
 <li><code>arrays[i].len() != nulls.len()</code></li>
 <li><code>!fields[i].is_nullable() &amp;&amp; !nulls.contains(arrays[i].nulls())</code></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#167-179">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>, len: <a class="primitive" href="https://doc.rust-lang.org/ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#167-179">source</a><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(fields: Fields, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#186-198">source</a><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a> from the provided parts without validation</p>
@@ -76,20 +76,20 @@ is no way to preserve them.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty_fields" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#205-215">source</a><h4 class="code-header">pub fn <a href="#method.new_empty_fields" class="fn">new_empty_fields</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/ [...]
 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
 <p>If <code>len != nulls.len()</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#218-224">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>, <a class="struct" href="https://doc.rust-lang.o [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#218-224">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (Fields, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.ht [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#227-229">source</a><h4 class="code-header">pub fn <a href="#method.column" class="fn">column</a>(&amp;self, pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array: [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_columns" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#232-234">source</a><h4 class="code-header">pub fn <a href="#method.num_columns" class="fn">num_columns</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Return the number of fi [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.columns" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#237-239">source</a><h4 class="code-header">pub fn <a href="#method.columns" class="fn">columns</a>(&amp;self) -&gt; &amp;[<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>]</h4></section></summary><div class="docblock"><p>Returns the fields of the [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.columns_ref" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#243-245">source</a><h4 class="code-header">pub fn <a href="#method.columns_ref" class="fn">columns_ref</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.htm [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column_names" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#248-256">source</a><h4 class="code-header">pub fn <a href="#method.column_names" class="fn">column_names</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;<a class="primitive" href="https:/ [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#259-264">source</a><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a></h4></section></summary><div class="docblock"><p>Re [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#259-264">source</a><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&amp;self) -&gt; &amp;Fields</h4></section></summary><div class="docblock"><p>Returns the [<code>Fields</code>] of this <a href="struct.StructArray.html" title="struct arrow_array::array::struct_array: [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.column_by_name" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#271-276">source</a><h4 class="code-header">pub fn <a href="#method.column_by_name" class="fn">column_by_name</a>(&amp;self, column_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/ [...]
 <p>Note: A schema can currently have duplicate field names, in which case
 the first field will always be selected.
 This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#279-293">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.h [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-StructArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#343-396">source</a><a href="#impl-Array-for-StructArray" class="anchor">§</a><h3 class="c [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#348-350">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a clas [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#348-350">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayDa [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#376-378">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="h [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -98,7 +98,7 @@ since multiple arrays can share the same buffers or slices thereof.</div></detai
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
 null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#237-239">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitiv [...]
-opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
+opposite of <a href="../trait.Array.html#method.is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#273-275">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" c [...]
 <p>Note: A schema can currently have duplicate field names, in which case
 the first field will always be selected.
 This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
@@ -106,8 +106,8 @@ This issue will be addressed in <a href="https://issues.apache.org/jira/browse/A
 <p>Panics if the name is not in the schema.</p>
 </div></details><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" hr [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#324-341">source</a><a href="#impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a  [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a></h4></section></summary> [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="impl"><a class="src rightside" href="../../../src/arrow_array/array/struct_array.rs.html#324-341">source</a><a href="#impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a  [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = ArrowError</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details></div><h2 id=" [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/array/trait.Array.html b/arrow_array/array/trait.Array.html
index dc85b702361..255fe895fa9 100644
--- a/arrow_array/array/trait.Array.html
+++ b/arrow_array/array/trait.Array.html
@@ -1,9 +1,9 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array in the arrow columnar format"><title>Array in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
 <details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 methods</span></summary>    // Required methods
     fn <a href="#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>;
-<span class="item-spacer"></span>    fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>;
-<span class="item-spacer"></span>    fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; <a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>;
-<span class="item-spacer"></span>    fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData;
+<span class="item-spacer"></span>    fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; ArrayData;
+<span class="item-spacer"></span>    fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;DataType;
 <span class="item-spacer"></span>    fn <a href="#tymethod.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>;
 <span class="item-spacer"></span>    fn <a href="#tymethod.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
 <span class="item-spacer"></span>    fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
@@ -34,10 +34,10 @@ downcasted to a specific implementation.</p>
     .as_any()
     .downcast_ref::&lt;Int32Array&gt;()
     .expect(<span class="string">"Failed to downcast"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.to_data" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#102">source</a><h4 class="code-header">fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a></h4></section></summary><div class="docblock"><p>Returns the underlying [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.into_data" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#107">source</a><h4 class="code-header">fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; <a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a></h4></section></summary><div class="docblock"><p>Returns the underlyin [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.to_data" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#102">source</a><h4 class="code-header">fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></section></summary><div class="docblock"><p>Returns the underlying data of this array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.into_data" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#107">source</a><h4 class="code-header">fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; ArrayData</h4></section></summary><div class="docblock"><p>Returns the underlying data of this array</p>
 <p>Unlike <a href="trait.Array.html#tymethod.to_data" title="method arrow_array::array::Array::to_data"><code>Array::to_data</code></a> this consumes self, allowing it avoid unnecessary clones</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.data_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#121">source</a><h4 class="code-header">fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.data_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#121">source</a><h4 class="code-header">fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;DataType</h4></section></summary><div class="docblock"><p>Returns a reference to the [<code>DataType</code>] of this array.</p>
 <h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_schema::DataType;
 <span class="kw">use </span>arrow_array::{Array, Int32Array};
@@ -158,5 +158,5 @@ and therefore would not appear in <a href="trait.Array.html#method.logical_nulls
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-dyn+Array" class="impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#462-466">source</a><a href="#impl-PartialEq-for-dyn+Array" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait  [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Sealed-for-dyn+Array" class="impl"><a class="src rightside" href="../../src/arrow_array/cast.rs.html#869">source</a><a href="#impl-Sealed-for-dyn+Array" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../cast/private/trait.Sealed.html" title="trait arrow_array::cast::private::Sealed">Sealed</a> for dyn <a class="trait" href="trait.Array.html" title=" [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Sealed-for-dyn+Array" class="impl"><a class="src rightside" href="../../src/arrow_array/cast.rs.html#869">source</a><a href="#impl-Sealed-for-dyn+Array" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../cast/private/trait.Sealed.html" title="trait arrow_array::cast::private::Sealed">Sealed</a> for dyn <a class="trait" href="trait.Array.html" title=" [...]
 </div><section id="impl-Array-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#828-880">source</a><a href="#impl-Array-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, K: <a class="trait" href="../types/trait.ArrowDictionaryKeyType.html" title="trait arrow_array::types::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>, V: <a class="trait" href="https:// [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.ArrayRef.html b/arrow_array/array/type.ArrayRef.html
index 20a2b010018..f5f728cc405 100644
--- a/arrow_array/array/type.ArrayRef.html
+++ b/arrow_array/array/type.ArrayRef.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A reference-counted reference to a generic `Array`"><title>ArrayRef in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ArrayRef { <span class="comment">/* private fields */</span> }</code></pre><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-fo [...]
 </div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#307-309">source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::an [...]
-downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#311-313">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href=". [...]
+downcasted to a specific implementation. <a href="trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#311-313">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayData</h4></section>< [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#339-341">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-la [...]
 null values of this array, if any. <a href="trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#347-349">source</a><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href=" [...]
diff --git a/arrow_array/array/type.BinaryArray.html b/arrow_array/array/type.BinaryArray.html
index b48bd4dc5fd..8cf110bdfda 100644
--- a/arrow_array/array/type.BinaryArray.html
+++ b/arrow_array/array/type.BinaryArray.html
@@ -30,8 +30,8 @@
 <span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
 <p>See <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.BinaryViewArray.html b/arrow_array/array/type.BinaryViewArray.html
index 84e2ba03ee8..63f9a152e93 100644
--- a/arrow_array/array/type.BinaryViewArray.html
+++ b/arrow_array/array/type.BinaryViewArray.html
@@ -5,12 +5,12 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">b"hello"</span>);
 <span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">b"large payload over 12 bytes"</span>);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryViewArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="struct" href="../types/struct.BinaryViewType.html" title="struct arrow_array::types::BinaryViewType">BinaryViewType</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" clas [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/prim [...]
 If items not utf8 data, validate will fail and error returned.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_string_view_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#426-428">source</a><h4 class="code-header">pub unsafe fn <a href="#method.to_string_view_unchecked" class="fn">to_string_view_unchecked</a>(self) -&gt; <a class="type" href="byte_view_array/type.StringViewArray.html" title="type arrow_array::array::byte_view_array::StringViewArra [...]
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
diff --git a/arrow_array/array/type.Date32Array.html b/arrow_array/array/type.Date32Array.html
index fa6f0fcb0cf..3e575a88c26 100644
--- a/arrow_array/array/type.Date32Array.html
+++ b/arrow_array/array/type.Date32Array.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
 values such as <code>2018-11-13</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date32Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Date32Array" async></script></section></div></main [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Date64Array.html b/arrow_array/array/type.Date64Array.html
index a33fd710faf..7d00ca2b26a 100644
--- a/arrow_array/array/type.Date64Array.html
+++ b/arrow_array/array/type.Date64Array.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
 values such as <code>2018-11-13</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date64Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Date64Array" async></script></section></div></main [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Decimal128Array.html b/arrow_array/array/type.Decimal128Array.html
index a56b3b66238..47a5a011ed4 100644
--- a/arrow_array/array/type.Decimal128Array.html
+++ b/arrow_array/array/type.Decimal128Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Decimal128Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal128Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Decimal128Array" async></script></section></div></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Decimal256Array.html b/arrow_array/array/type.Decimal256Array.html
index 9f8654e0bcc..3b8ad952412 100644
--- a/arrow_array/array/type.Decimal256Array.html
+++ b/arrow_array/array/type.Decimal256Array.html
@@ -11,8 +11,8 @@
 </span><span class="kw">let </span>arr: Decimal256Array = std::iter::repeat(i256::from(<span class="number">42</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal256Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;i256&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;i256&gt;</code></span><div class="docblock"><p>Values data</p>
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Decimal256Array" async></script></section></div></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.DurationMicrosecondArray.html b/arrow_array/array/type.DurationMicrosecondArray.html
index 2b13cf1c726..3d37221b1f7 100644
--- a/arrow_array/array/type.DurationMicrosecondArray.html
+++ b/arrow_array/array/type.DurationMicrosecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in microseconds"><title>DurationMicrosecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMicrosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationMicrosecondArray" async></script></section [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.DurationMillisecondArray.html b/arrow_array/array/type.DurationMillisecondArray.html
index f8af82fb65d..7e1312f2032 100644
--- a/arrow_array/array/type.DurationMillisecondArray.html
+++ b/arrow_array/array/type.DurationMillisecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in milliseconds"><title>DurationMillisecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMillisecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationMillisecondArray" async></script></section [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.DurationNanosecondArray.html b/arrow_array/array/type.DurationNanosecondArray.html
index 2082951cfef..4c3de4911ef 100644
--- a/arrow_array/array/type.DurationNanosecondArray.html
+++ b/arrow_array/array/type.DurationNanosecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in nanoseconds"><title>DurationNanosecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141b [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationNanosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationNanosecondArray" async></script></section> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.DurationSecondArray.html b/arrow_array/array/type.DurationSecondArray.html
index 239e8add8a9..50856085c5a 100644
--- a/arrow_array/array/type.DurationSecondArray.html
+++ b/arrow_array/array/type.DurationSecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of elapsed durations in seconds"><title>DurationSecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationSecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::DurationSecondArray" async></script></section></di [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Float16Array.html b/arrow_array/array/type.Float16Array.html
index ef1d6a3d856..0b0a66ae331 100644
--- a/arrow_array/array/type.Float16Array.html
+++ b/arrow_array/array/type.Float16Array.html
@@ -14,8 +14,8 @@
 <span class="kw">let </span>arr : Float16Array = [<span class="prelude-val">Some</span>(f16::from_f64(<span class="number">1.0</span>)), <span class="prelude-val">Some</span>(f16::from_f64(<span class="number">2.0</span>))].into_iter().collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float16Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/s [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float16Array" async></script></section></div></mai [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Float32Array.html b/arrow_array/array/type.Float32Array.html
index 994277eca0c..3da24cccf46 100644
--- a/arrow_array/array/type.Float32Array.html
+++ b/arrow_array/array/type.Float32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Float32Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float32Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float32Array" async></script></section></div></mai [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Float64Array.html b/arrow_array/array/type.Float64Array.html
index 1b7c56416ac..1622ae8e2bb 100644
--- a/arrow_array/array/type.Float64Array.html
+++ b/arrow_array/array/type.Float64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Float32Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float64Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Float64Array" async></script></section></div></mai [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.GenericBinaryArray.html b/arrow_array/array/type.GenericBinaryArray.html
index dab1360e28e..40601897111 100644
--- a/arrow_array/array/type.GenericBinaryArray.html
+++ b/arrow_array/array/type.GenericBinaryArray.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericBinaryArray` for storing `[u8]`"><title>GenericBinaryArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fir [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericBinaryArray&lt;OffsetSize&gt; {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../types/struct.GenericBinaryType.html" title="struct arrow_array::types::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt; as <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../types/struct.G [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><a class="src rightside" href="../../src/arrow_array/array/binary_array.rs.html#36-38">source</a><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std [...]
 <p>See also <a href="byte_array/struct.GenericByteArray.html#method.from_iter_values" title="associated function arrow_array::array::byte_array::GenericByteArray::from_iter_values"><code>Self::from_iter_values</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><a class="src rightside" href="../../src/arrow_array/array/binary_array.rs.html#41-43">source</a><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/co [...]
diff --git a/arrow_array/array/type.GenericStringArray.html b/arrow_array/array/type.GenericStringArray.html
index e53e7745a79..2c503288020 100644
--- a/arrow_array/array/type.GenericStringArray.html
+++ b/arrow_array/array/type.GenericStringArray.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericByteArray` for storing `str`"><title>GenericStringArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericStringArray&lt;OffsetSize&gt; {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../types/struct.GenericStringType.html" title="struct arrow_array::types::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt; as <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;&lt;<a class="struct" href="../types/struct.G [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_chars" class="method"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#37-39">source</a><h4 class="code-header">pub fn <a href="#method.num_chars" class="fn">num_chars</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usiz [...]
 <h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -22,7 +22,7 @@ please use the function <a href="#method.value_length"><code>value_length</code>
 <p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_binary" class="method"><a class="src rightside" href="../../src/arrow_array/array/string_array.rs.html#62-65">source</a><h4 class="code-header">pub fn <a href="#method.try_from_binary" class="fn">try_from_binary</a>(
     v: <a class="type" href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray">GenericBinaryArray</a>&lt;OffsetSize&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray< [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Fallibly creates a <a href="string_array/type.GenericStringArray.html" title="type arrow_array::array::string_array::GenericStringArray"><code>GenericStringArray</code></a> from a <a href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::Ge [...]
 an error if <a href="binary_array/type.GenericBinaryArray.html" title="type arrow_array::array::binary_array::GenericBinaryArray"><code>GenericBinaryArray</code></a> contains invalid UTF-8 data</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/string_ar [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
diff --git a/arrow_array/array/type.Int16Array.html b/arrow_array/array/type.Int16Array.html
index 200863848b8..aa5ff346b55 100644
--- a/arrow_array/array/type.Int16Array.html
+++ b/arrow_array/array/type.Int16Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int16Array" async></script></section></div></main> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int16DictionaryArray.html b/arrow_array/array/type.Int16DictionaryArray.html
index 5c8785dad21..3217f9d1757 100644
--- a/arrow_array/array/type.Int16DictionaryArray.html
+++ b/arrow_array/array/type.Int16DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.Int16Type.html" title="struct arrow_array::types::Int16Type">Int16Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.Int16RunArray.html b/arrow_array/array/type.Int16RunArray.html
index a82e7f6f752..8f27aa87034 100644
--- a/arrow_array/array/type.Int16RunArray.html
+++ b/arrow_array/array/type.Int16RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16RunArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int32Array.html b/arrow_array/array/type.Int32Array.html
index 7fec50416a8..b0b14087af1 100644
--- a/arrow_array/array/type.Int32Array.html
+++ b/arrow_array/array/type.Int32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int32Array" async></script></section></div></main> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int32DictionaryArray.html b/arrow_array/array/type.Int32DictionaryArray.html
index c16ae83ff62..2f350387257 100644
--- a/arrow_array/array/type.Int32DictionaryArray.html
+++ b/arrow_array/array/type.Int32DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.Int32Type.html" title="struct arrow_array::types::Int32Type">Int32Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.Int32RunArray.html b/arrow_array/array/type.Int32RunArray.html
index d4d11fdea0e..7ccf0b537b7 100644
--- a/arrow_array/array/type.Int32RunArray.html
+++ b/arrow_array/array/type.Int32RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32RunArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int64Array.html b/arrow_array/array/type.Int64Array.html
index 0cd4972395a..fae45acc273 100644
--- a/arrow_array/array/type.Int64Array.html
+++ b/arrow_array/array/type.Int64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int64Array" async></script></section></div></main> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int64DictionaryArray.html b/arrow_array/array/type.Int64DictionaryArray.html
index 4f4796f7c94..43dc4404975 100644
--- a/arrow_array/array/type.Int64DictionaryArray.html
+++ b/arrow_array/array/type.Int64DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.Int64Type.html" title="struct arrow_array::types::Int64Type">Int64Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.Int64RunArray.html b/arrow_array/array/type.Int64RunArray.html
index 52010c8e3c7..ac905cc3082 100644
--- a/arrow_array/array/type.Int64RunArray.html
+++ b/arrow_array/array/type.Int64RunArray.html
@@ -6,7 +6,7 @@
 <span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64RunArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.run_ends" class="structfield section-header"><a href="#structfield.run_ends" class="anchor field">§</a><code>run_ends: RunEndBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int8Array.html b/arrow_array/array/type.Int8Array.html
index 7067ac8c0bf..f85292bf413 100644
--- a/arrow_array/array/type.Int8Array.html
+++ b/arrow_array/array/type.Int8Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: Int8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Int8Array" async></script></section></div></main>< [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Int8DictionaryArray.html b/arrow_array/array/type.Int8DictionaryArray.html
index 3a4099b4812..be21120a01b 100644
--- a/arrow_array/array/type.Int8DictionaryArray.html
+++ b/arrow_array/array/type.Int8DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.Int8Type.html" title="struct arrow_array::types::Int8Type">Int8Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.IntervalDayTimeArray.html b/arrow_array/array/type.IntervalDayTimeArray.html
index 2794354802b..93f31489976 100644
--- a/arrow_array/array/type.IntervalDayTimeArray.html
+++ b/arrow_array/array/type.IntervalDayTimeArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in days and milliseconds"><title>IntervalDayTimeArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regula [...]
 <p>See <a href="../types/struct.IntervalDayTimeType.html" title="struct arrow_array::types::IntervalDayTimeType"><code>IntervalDayTimeType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalDayTimeArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;IntervalDayTime&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;IntervalDayTime&gt;</code></span><div class="docblock"><p>Values data</p>
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalDayTimeArray" async></script></section></d [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.IntervalMonthDayNanoArray.html b/arrow_array/array/type.IntervalMonthDayNanoArray.html
index 5774e956bf9..55917cec124 100644
--- a/arrow_array/array/type.IntervalMonthDayNanoArray.html
+++ b/arrow_array/array/type.IntervalMonthDayNanoArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in  months, days, and nanoseconds."><title>IntervalMonthDayNanoArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2, [...]
 <p>See <a href="../types/struct.IntervalMonthDayNanoType.html" title="struct arrow_array::types::IntervalMonthDayNanoType"><code>IntervalMonthDayNanoType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalMonthDayNanoArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;IntervalMonthDayNano&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;IntervalMonthDayNano&gt;</code></span><div class="docblock"><p>Val [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalMonthDayNanoArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.IntervalYearMonthArray.html b/arrow_array/array/type.IntervalYearMonthArray.html
index 31ef81ddd86..029ac76f7d1 100644
--- a/arrow_array/array/type.IntervalYearMonthArray.html
+++ b/arrow_array/array/type.IntervalYearMonthArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of “calendar” intervals in months"><title>IntervalYearMonthArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf08 [...]
 <p>See <a href="../types/struct.IntervalYearMonthType.html" title="struct arrow_array::types::IntervalYearMonthType"><code>IntervalYearMonthType</code></a> for details on representation and caveats.</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalYearMonthArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::IntervalYearMonthArray" async></script></section>< [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.LargeBinaryArray.html b/arrow_array/array/type.LargeBinaryArray.html
index 86658648910..d7bf66457c0 100644
--- a/arrow_array/array/type.LargeBinaryArray.html
+++ b/arrow_array/array/type.LargeBinaryArray.html
@@ -29,8 +29,8 @@
 <span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
 <p>See <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.LargeListArray.html b/arrow_array/array/type.LargeListArray.html
index 908f53f46e7..e5d74017b1d 100644
--- a/arrow_array/array/type.LargeListArray.html
+++ b/arrow_array/array/type.LargeListArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericListArray` of variable size lists, storing offsets as `i64`."><title>LargeListArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-0 [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeListArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" clas [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.LargeStringArray.html b/arrow_array/array/type.LargeStringArray.html
index 5916d511d1d..6083140ee4d 100644
--- a/arrow_array/array/type.LargeStringArray.html
+++ b/arrow_array/array/type.LargeStringArray.html
@@ -15,8 +15,8 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">2</span>), <span class="string">"bar"</span>);</code></pre></div>
 <p>See <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeStringArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.ListArray.html b/arrow_array/array/type.ListArray.html
index ccfe916c4d6..8c3c9d3902c 100644
--- a/arrow_array/array/type.ListArray.html
+++ b/arrow_array/array/type.ListArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `GenericListArray` of variable size lists, storing offsets as `i32`."><title>ListArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ListArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" clas [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.StringArray.html b/arrow_array/array/type.StringArray.html
index 661592ba661..8c1973d9bce 100644
--- a/arrow_array/array/type.StringArray.html
+++ b/arrow_array/array/type.StringArray.html
@@ -14,8 +14,8 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"foo"</span>);</code></pre></div>
 <p>See <a href="byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     value_data: Buffer,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.val [...]
\ No newline at end of file
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" class="anchor field">§</a><code>value_offsets: OffsetBuffer&lt;<a class="primitive" href="https://doc.rust-l [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.StringViewArray.html b/arrow_array/array/type.StringViewArray.html
index 2aa82245b21..eabee5c4638 100644
--- a/arrow_array/array/type.StringViewArray.html
+++ b/arrow_array/array/type.StringViewArray.html
@@ -5,10 +5,10 @@
 <span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"hello"</span>);
 <span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">"large payload over 12 bytes"</span>);</code></pre></div>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringViewArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
     buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;,
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="struct" href="../types/struct.StringViewType.html" title="struct arrow_array::types::StringViewType">StringViewType</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" clas [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.views" class="structfield section-header"><a href="#structfield.views" class="anchor field">§</a><code>views: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/prim [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%26str%3E%3E-for-GenericByteViewArray%3CStringViewType%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#461-465">source</a><a href="#impl-From%3 [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Time32MillisecondArray.html b/arrow_array/array/type.Time32MillisecondArray.html
index c40b87adb95..0e5c8dd5c06 100644
--- a/arrow_array/array/type.Time32MillisecondArray.html
+++ b/arrow_array/array/type.Time32MillisecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32MillisecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time32MillisecondArray" async></script></section>< [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Time32SecondArray.html b/arrow_array/array/type.Time32SecondArray.html
index 10e556e5e72..e7f0bf372b6 100644
--- a/arrow_array/array/type.Time32SecondArray.html
+++ b/arrow_array/array/type.Time32SecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32SecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time32SecondArray" async></script></section></div> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Time64MicrosecondArray.html b/arrow_array/array/type.Time64MicrosecondArray.html
index c0b80d374d9..0b2b19e3850 100644
--- a/arrow_array/array/type.Time64MicrosecondArray.html
+++ b/arrow_array/array/type.Time64MicrosecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123456</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64MicrosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time64MicrosecondArray" async></script></section>< [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.Time64NanosecondArray.html b/arrow_array/array/type.Time64NanosecondArray.html
index 0cd4ee574dc..771b6c8a9b9 100644
--- a/arrow_array/array/type.Time64NanosecondArray.html
+++ b/arrow_array/array/type.Time64NanosecondArray.html
@@ -2,8 +2,8 @@
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
 hold values such as <code>00:02:00.123456789</code></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64NanosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::Time64NanosecondArray" async></script></section></ [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.TimestampMicrosecondArray.html b/arrow_array/array/type.TimestampMicrosecondArray.html
index 82652a37e6e..b4e02be5598 100644
--- a/arrow_array/array/type.TimestampMicrosecondArray.html
+++ b/arrow_array/array/type.TimestampMicrosecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of microseconds since UNIX epoch stored as `i64`"><title>TimestampMicrosecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-R [...]
 <p>See examples for <a href="primitive_array/type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMicrosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampMicrosecondArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.TimestampMillisecondArray.html b/arrow_array/array/type.TimestampMillisecondArray.html
index 9cb69ffd0f2..958b57bffe2 100644
--- a/arrow_array/array/type.TimestampMillisecondArray.html
+++ b/arrow_array/array/type.TimestampMillisecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of milliseconds since UNIX epoch stored as `i64`"><title>TimestampMillisecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-R [...]
 <p>See examples for <a href="primitive_array/type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMillisecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampMillisecondArray" async></script></sectio [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.TimestampNanosecondArray.html b/arrow_array/array/type.TimestampNanosecondArray.html
index abe7573d072..bdf5cfa4266 100644
--- a/arrow_array/array/type.TimestampNanosecondArray.html
+++ b/arrow_array/array/type.TimestampNanosecondArray.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of nanoseconds since UNIX epoch stored as `i64`"><title>TimestampNanosecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Reg [...]
 <p>See examples for <a href="primitive_array/type.TimestampSecondArray.html" title="type arrow_array::array::primitive_array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampNanosecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampNanosecondArray" async></script></section [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.TimestampSecondArray.html b/arrow_array/array/type.TimestampSecondArray.html
index a7b54a08cc7..71d898b7cb1 100644
--- a/arrow_array/array/type.TimestampSecondArray.html
+++ b/arrow_array/array/type.TimestampSecondArray.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `PrimitiveArray` of seconds since UNIX epoch stored as `i64`"><title>TimestampSecondArray in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018 [...]
 <p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/datetime/struct.DateTime.html" title="struct chrono::datetime::DateTime"><code>chrono::DateTime</code></a> type and can hold
 values such as <code>1970-05-09 14:25:11 +01:00</code></p>
-<p>See also <a href="../../arrow_schema/datatype/enum.DataType.html#variant.Timestamp" title="variant arrow_schema::datatype::DataType::Timestamp"><code>Timestamp</code></a>.</p>
+<p>See also <a href="arrow_schema::DataType::Timestamp"><code>Timestamp</code></a>.</p>
 <h2 id="example-utc-timestamps-post-epoch"><a class="doc-anchor" href="#example-utc-timestamps-post-epoch">§</a>Example: UTC timestamps post epoch</h2>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::timezone::Tz;
 <span class="comment">// Corresponds to single element array with entry 1970-05-09T14:25:11+0:00
@@ -31,8 +31,8 @@ values such as <code>1970-05-09 14:25:11 +01:00</code></p>
 <span class="macro">assert_eq!</span>(arr.value_as_datetime_with_tz(<span class="number">0</span>, sydney_tz).map(|v| v.to_string()).unwrap(), <span class="string">"1970-05-10 00:25:11 +10:00"</span>)</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampSecondArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::TimestampSecondArray" async></script></section></d [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.UInt16Array.html b/arrow_array/array/type.UInt16Array.html
index c4149c52353..fa457ce4606 100644
--- a/arrow_array/array/type.UInt16Array.html
+++ b/arrow_array/array/type.UInt16Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt16Array" async></script></section></div></main [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.UInt16DictionaryArray.html b/arrow_array/array/type.UInt16DictionaryArray.html
index 0248b3dd74c..26ee773a89a 100644
--- a/arrow_array/array/type.UInt16DictionaryArray.html
+++ b/arrow_array/array/type.UInt16DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.UInt16Type.html" title="struct arrow_array::types::UInt16Type">UInt16Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.UInt32Array.html b/arrow_array/array/type.UInt32Array.html
index 9b10d5101f6..3918b787b7f 100644
--- a/arrow_array/array/type.UInt32Array.html
+++ b/arrow_array/array/type.UInt32Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt32Array" async></script></section></div></main [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.UInt32DictionaryArray.html b/arrow_array/array/type.UInt32DictionaryArray.html
index 047b123626c..84d2ea66384 100644
--- a/arrow_array/array/type.UInt32DictionaryArray.html
+++ b/arrow_array/array/type.UInt32DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.UInt32Type.html" title="struct arrow_array::types::UInt32Type">UInt32Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.UInt64Array.html b/arrow_array/array/type.UInt64Array.html
index 981c6913f7d..020db6d3eb2 100644
--- a/arrow_array/array/type.UInt64Array.html
+++ b/arrow_array/array/type.UInt64Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt64Array" async></script></section></div></main [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.UInt64DictionaryArray.html b/arrow_array/array/type.UInt64DictionaryArray.html
index e8d595211fa..612cf8dba50 100644
--- a/arrow_array/array/type.UInt64DictionaryArray.html
+++ b/arrow_array/array/type.UInt64DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.UInt64Type.html" title="struct arrow_array::types::UInt64Type">UInt64Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/type.UInt8Array.html b/arrow_array/array/type.UInt8Array.html
index 8b6ab2887db..d945b6c2a53 100644
--- a/arrow_array/array/type.UInt8Array.html
+++ b/arrow_array/array/type.UInt8Array.html
@@ -10,8 +10,8 @@
 </span><span class="kw">let </span>arr: UInt8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
 <p>See <a href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8Array {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;,
     nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" cl [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/p [...]
 </div><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field">§</a><code>nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;NullBuffer&gt;</code></span><script src="../../type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js" data-self-path="arrow_array::array::primitive_array::UInt8Array" async></script></section></div></main> [...]
\ No newline at end of file
diff --git a/arrow_array/array/type.UInt8DictionaryArray.html b/arrow_array/array/type.UInt8DictionaryArray.html
index 494e6fda8eb..e4c5588f057 100644
--- a/arrow_array/array/type.UInt8DictionaryArray.html
+++ b/arrow_array/array/type.UInt8DictionaryArray.html
@@ -7,11 +7,11 @@
 <span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
 <p>See <a href="dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8DictionaryArray {
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../types/struct.UInt8Type.html" title="struct arrow_array::types::UInt8Type">UInt8Type</a>&gt;,
     values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class= [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§</a><code>keys: <a class="struct" href="primitive_array/struct.PrimitiveArray.html" title="struct arrow_ [...]
 buffer and null bitmap of <code>data</code>.  Also, note that these do
 not correspond to the true values of this array. Rather, they
 map to the real values.</p>
diff --git a/arrow_array/array/union_array/struct.UnionArray.html b/arrow_array/array/union_array/struct.UnionArray.html
index 490ed1419fa..ccddbf05dc5 100644
--- a/arrow_array/array/union_array/struct.UnionArray.html
+++ b/arrow_array/array/union_array/struct.UnionArray.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An array of values of varying types"><title>UnionArray in arrow_array::array::union_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;&gt;,
@@ -85,8 +85,8 @@ for examples.</p>
 
 <span class="kw">let </span>value = array.value(<span class="number">2</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
 <span class="macro">assert_eq!</span>(<span class="number">34</span>, value);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><span id="structfield.type_ids" class="structfield section-header"><a href="#structfield.typ [...]
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><span id="structfield.type_ids" class="structfield section-header"><a href="#structfield.type_ids" class="anchor field">§</a><code>type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/night [...]
+    fields: UnionFields,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
@@ -104,11 +104,11 @@ corresponding array.</p>
 <p>In both cases above we use signed integer types to maintain compatibility with other
 Arrow implementations.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#174-230">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>,
+    fields: UnionFields,
     type_ids: ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
     children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
 <p>The order of child arrays child array order must match the fields order</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.child" class="method"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#238-242">source</a><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>) -&gt; &amp;<a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::Array [...]
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
@@ -130,7 +130,7 @@ in the <code>Union</code>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#307-328">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#358-382">source</a><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
     self
-) -&gt; (<a class="struct" href="../../../arrow_schema/fields/struct.UnionFields.html" title="struct arrow_schema::fields::UnionFields">UnionFields</a>, ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i3 [...]
+) -&gt; (UnionFields, ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ScalarBuffer&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc:: [...]
 <h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = UnionBuilder::new_dense();
 builder.append::&lt;Int32Type&gt;(<span class="string">"a"</span>, <span class="number">1</span>).unwrap();
@@ -153,7 +153,7 @@ To check validity correctly you must check the underlying vector.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#496-498">source</a><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></ [...]
 To get null count correctly you must check the underlying vector.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#446-448">source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::an [...]
-downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#450-452">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#450-452">source</a><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; ArrayDat [...]
 Note that the underlying data can be shared by many arrays.
 This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#478-480">source</a><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="ht [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
@@ -161,7 +161,7 @@ Note that this does not always correspond to the exact memory usage of an array,
 since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/union_array.rs.html#512-524">source</a><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&a [...]
 This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
 includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#212-214">source</a><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt;  [...]
-null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#286-288">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a  [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/mod.rs.html#286-288">source</a><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id-1" class="anchor">§</a><h4 class="code-header">fn <a  [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html b/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html
index a390cca0871..06f6ba27329 100644
--- a/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html
+++ b/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html
@@ -39,7 +39,7 @@ b.append_value(<span class="bool-val">true</span>);
     &amp;mut self,
     values: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>],
     is_valid: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>]
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends values from a slice of type <code>T</code> and a validity boole [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends values from a slice of type <code>T</code> and a validity boolean slice.</p>
 <p>Returns an error if the slices are of different lengths</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/boolean_builder.rs.html#143-153">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(&amp;mut self) -&gt; <a class="struct" href="../../array/boolean_array/struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h4></section></sum [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish_cloned" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/boolean_builder.rs.html#156-167">source</a><h4 class="code-header">pub fn <a href="#method.finish_cloned" class="fn">finish_cloned</a>(&amp;self) -&gt; <a class="struct" href="../../array/boolean_array/struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h [...]
diff --git a/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html b/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html
index d10bcedbc81..0962f82b227 100644
--- a/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html
+++ b/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html
@@ -20,7 +20,7 @@ that can be appended without reallocating</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/fixed_size_binary_builder.rs.html#75-86">source</a><h4 class="code-header">pub fn <a href="#method.append_value" class="fn">append_value</a>(
     &amp;mut self,
     value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a byte slice into the builder.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a byte slice into the builder.</p>
 <p>Automatically update the null buffer to delimit the slice appended in as a
 distinct value element.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_null" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/fixed_size_binary_builder.rs.html#90-94">source</a><h4 class="code-header">pub fn <a href="#method.append_null" class="fn">append_null</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Append a null value to the array.</p>
diff --git a/arrow_array/builder/fixed_size_list_builder/struct.FixedSizeListBuilder.html b/arrow_array/builder/fixed_size_list_builder/struct.FixedSizeListBuilder.html
index c8990964fde..c0a91b6098b 100644
--- a/arrow_array/builder/fixed_size_list_builder/struct.FixedSizeListBuilder.html
+++ b/arrow_array/builder/fixed_size_list_builder/struct.FixedSizeListBuilder.html
@@ -2,7 +2,7 @@
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
     list_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../array/fixed_size_list_array/struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>FixedSizeListArray</code></a></p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{builder::{Int32Builder, FixedSizeListBuilder}, Array, Int32Array};
@@ -40,7 +40,7 @@ builder.append(<span class="bool-val">true</span>);
     <span class="kw-2">*</span>list_array.value(<span class="number">3</span>),
     Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">None</span>])
 )</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.null_buffer_builder" class="structfield section-header"><a href="#structfield.null_buffer_builder" class="anchor field">§</a><code>null_buffer_builder: NullBufferBuilder</code></span><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: T</code></span><s [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.null_buffer_builder" class="structfield section-header"><a href="#structfield.null_buffer_builder" class="anchor field">§</a><code>null_buffer_builder: NullBufferBuilder</code></span><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: T</code></span><s [...]
 <code>value_length</code> is the number of values within each array</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/fixed_size_list_builder.rs.html#87-94">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(
     values_builder: T,
@@ -49,7 +49,7 @@ builder.append(<span class="bool-val">true</span>);
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <a href="struct.FixedSizeListBuilder.html" title="struct arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder"><code>FixedSizeListBuilder</code></a> from a given values array builder
 <code>value_length</code> is the number of values within each array
 <code>capacity</code> is the number of items to pre-allocate space for in this builder</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/fixed_size_list_builder.rs.html#102-107">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type" href="../ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/fixed_size_list_builder.rs.html#102-107">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -&gt; Self< [...]
 <p>By default, a nullable field is created with the name <code>item</code></p>
 <p>Note: <a href="struct.FixedSizeListBuilder.html#method.finish" title="method arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder::finish"><code>Self::finish</code></a> and <a href="struct.FixedSizeListBuilder.html#method.finish_cloned" title="method arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>T</code></p>
diff --git a/arrow_array/builder/fn.make_builder.html b/arrow_array/builder/fn.make_builder.html
index bf39b27526a..3134f8c3d36 100644
--- a/arrow_array/builder/fn.make_builder.html
+++ b/arrow_array/builder/fn.make_builder.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns a builder with capacity `capacity` that corresponds to the datatype `DataType` This function is useful to construct arrays from an arbitrary vectors with known/expected schema."><title>make_builder in arrow_array::builder - Rust</title><script>if(window.location.protocol!=="file: [...]
-    datatype: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    datatype: &amp;DataType,
     capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a builder with capacity <code>capacity</code> that corresponds to the datatype <code [...]
 This function is useful to construct arrays from an arbitrary vectors with known/expected
diff --git a/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html b/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html
index 4492eb625a6..c0d2c52fae4 100644
--- a/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html
+++ b/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html
@@ -26,7 +26,7 @@ API is used to store keys w.r.t the hash of the strings themselves</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_dictionary" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#119-162">source</a><h4 class="code-header">pub fn <a href="#method.new_with_dictionary" class="fn">new_with_dictionary</a>(
     keys_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     dictionary_values: &amp;<a class="struct" href="../../array/byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray">GenericByteArray</a>&lt;T&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>GenericByteDictionaryBuilder</code> from a keys capacity and a dictionary
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>GenericByteDictionaryBuilder</code> from a keys capacity and a dictionary
 which is initialized with the given values.
 The indices of those dictionary values are used as keys.</p>
 <h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
@@ -48,7 +48,7 @@ builder.append(<span class="string">"abc"</span>).unwrap();
     T: <a class="trait" href="../../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#211-240">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(
     &amp;mut self,
     value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;K::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblo [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;K::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Append a value to the array. Return an existing index
 if already present in the values array or a new index if the
 value is appended to the values array.</p>
 <p>Returns an error if the new index would overflow the key type.</p>
diff --git a/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.html b/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.html
index 2c6495b5670..3a607383c4d 100644
--- a/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.html
+++ b/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.html
@@ -2,7 +2,7 @@
     offsets_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;,
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../array/list_array/struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a></p>
 <p>Use <a href="../type.ListBuilder.html" title="type arrow_array::builder::ListBuilder"><code>ListBuilder</code></a> to build <a href="../../array/list_array/type.ListArray.html" title="type arrow_array::array::list_array::ListArray"><code>ListArray</code></a>s and <a href="../type.LargeListBuilder.html" title="type arrow_array::builder::LargeListBuilder"><code>LargeListBuilder</code></a> to build <a href="../../array/list_array/type.LargeListArray.html" title="type arrow_array::array:: [...]
 <h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
@@ -53,10 +53,10 @@ builder.append(<span class="bool-val">true</span>);
   array.value_offsets(),
   <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">7</span>]
 );</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sec [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sec [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/generic_list_builder.rs.html#112-121">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(values_builder: T, capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div cla [...]
 <code>capacity</code> is the number of items to pre-allocate space for in this builder</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/generic_list_builder.rs.html#129-134">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type" href="../../ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/generic_list_builder.rs.html#129-134">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -&gt; Self</h4 [...]
 <p>By default a nullable field is created with the name <code>item</code></p>
 <p>Note: <a href="struct.GenericListBuilder.html#method.finish" title="method arrow_array::builder::generic_list_builder::GenericListBuilder::finish"><code>Self::finish</code></a> and <a href="struct.GenericListBuilder.html#method.finish_cloned" title="method arrow_array::builder::generic_list_builder::GenericListBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>T</code></p>
diff --git a/arrow_array/builder/index.html b/arrow_array/builder/index.html
index 5fd3b047674..9ab487f3fbd 100644
--- a/arrow_array/builder/index.html
+++ b/arrow_array/builder/index.html
@@ -103,6 +103,6 @@ you want to convert to Arrow arrays.</p>
     builder.extend(rows);
     RecordBatch::from(<span class="kw-2">&amp;</span>builder.finish())
 }</code></pre></div>
-</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="boolean_builder/index.html" title="mod arrow_array::builder::boolean_builder">boolean_builder</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="buffer_builder/index.html" title="mod arrow_array::builder::buffer_builder">buffer_builder</a><span title=" [...]
+</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="boolean_builder/index.html" title="mod arrow_array::builder::boolean_builder">boolean_builder</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="buffer_builder/index.html" title="mod arrow_array::builder::buffer_builder">buffer_builder</a><span title=" [...]
 This function is useful to construct arrays from an arbitrary vectors with known/expected
 schema.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.BinaryBuilder.html" title="type arrow_array::builder::BinaryBuilder">BinaryBuilder</a></div><div class="desc docblock-short">Builder for <a href="../array/binary_array/type.BinaryArray.html" title="type arrow_array::array::binary_array::BinaryArray"><code>BinaryArray</code></a></div></li><li><div cl [...]
\ No newline at end of file
diff --git a/arrow_array/builder/map_builder/index.html b/arrow_array/builder/map_builder/index.html
index 2d7029f46b8..10206516fa1 100644
--- a/arrow_array/builder/map_builder/index.html
+++ b/arrow_array/builder/map_builder/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `map_builder` mod in crate `arrow_array`."><title>arrow_array::builder::map_builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `map_builder` mod in crate `arrow_array`."><title>arrow_array::builder::map_builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
\ No newline at end of file
diff --git a/arrow_array/builder/map_builder/struct.MapBuilder.html b/arrow_array/builder/map_builder/struct.MapBuilder.html
index 735f88a73e6..4bcb05f91e7 100644
--- a/arrow_array/builder/map_builder/struct.MapBuilder.html
+++ b/arrow_array/builder/map_builder/struct.MapBuilder.html
@@ -4,7 +4,7 @@
     field_names: <a class="struct" href="struct.MapFieldNames.html" title="struct arrow_array::builder::map_builder::MapFieldNames">MapFieldNames</a>,
     key_builder: K,
     value_builder: V,
-    value_field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    value_field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -31,7 +31,7 @@ builder.append(<span class="bool-val">false</span>).unwrap();
 <span class="macro">assert_eq!</span>(array.values().as_ref(), <span class="kw-2">&amp;</span>Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>]));
 <span class="macro">assert_eq!</span>(array.keys().as_ref(), <span class="kw-2">&amp;</span>StringArray::from(<span class="macro">vec!</span>[<span class="string">"joe"</span>, <span class="string">"blogs"</span>, <span class="string">"foo"</span>]));
 </code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>& [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>& [...]
     field_names: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.MapFieldNames.html" title="struct arrow_array::builder::map_builder::MapFieldNames">MapFieldNames</a>&gt;,
     key_builder: K,
     value_builder: V
@@ -42,14 +42,14 @@ builder.append(<span class="bool-val">false</span>).unwrap();
     value_builder: V,
     capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>MapBuilder</code> with capacity</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_values_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#120-125">source</a><h4 class="code-header">pub fn <a href="#method.with_values_field" class="fn">with_values_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type"  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_values_field" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#120-125">source</a><h4 class="code-header">pub fn <a href="#method.with_values_field" class="fn">with_values_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -& [...]
 <p>By default a nullable field is created with the name <code>values</code></p>
 <p>Note: <a href="struct.MapBuilder.html#method.finish" title="method arrow_array::builder::map_builder::MapBuilder::finish"><code>Self::finish</code></a> and <a href="struct.MapBuilder.html#method.finish_cloned" title="method arrow_array::builder::map_builder::MapBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>V</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#128-130">source</a><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut K</a></h4></section></summary><div class="docblock"><p>Returns the key array builder  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#133-135">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut V</a></h4></section></summary><div class="docblock"><p>Returns the value array  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.entries" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#138-140">source</a><h4 class="code-header">pub fn <a href="#method.entries" class="fn">entries</a>(&amp;mut self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut K</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/pri [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#146-157">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(&amp;mut self, is_valid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum. [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#146-157">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(&amp;mut self, is_valid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum. [...]
 <p>Returns an error if the key and values builders are in an inconsistent state.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#160-170">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(&amp;mut self) -&gt; <a class="struct" href="../../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h4></section></summary><div class="docbloc [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish_cloned" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#173-181">source</a><h4 class="code-header">pub fn <a href="#method.finish_cloned" class="fn">finish_cloned</a>(&amp;self) -&gt; <a class="struct" href="../../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h4></section></summary><d [...]
diff --git a/arrow_array/builder/map_builder/struct.MapFieldNames.html b/arrow_array/builder/map_builder/struct.MapFieldNames.html
index d80b1466fbf..022bb5cf8bc 100644
--- a/arrow_array/builder/map_builder/struct.MapFieldNames.html
+++ b/arrow_array/builder/map_builder/struct.MapFieldNames.html
@@ -2,10 +2,10 @@
     pub entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
     pub key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
     pub value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="../../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> names for a <a href="../../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.entry" class="structfield section-header"><a href="#structfield.entry" class="anchor field">§</a><code>entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../../arrow_schema/field/struct.Field.html" title="struct ar [...]
-</div><span id="structfield.key" class="structfield section-header"><a href="#structfield.key" class="anchor field">§</a><code>key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> name for map key</p>
-</div><span id="structfield.value" class="structfield section-header"><a href="#structfield.value" class="anchor field">§</a><code>value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> name for map value</p>
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The [<code>Field</code>] names for a <a href="../../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.entry" class="structfield section-header"><a href="#structfield.entry" class="anchor field">§</a><code>entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map entries</p>
+</div><span id="structfield.key" class="structfield section-header"><a href="#structfield.key" class="anchor field">§</a><code>key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map key</p>
+</div><span id="structfield.value" class="structfield section-header"><a href="#structfield.value" class="anchor field">§</a><code>value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map value</p>
 </div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-MapFieldNames" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/map_builder.rs.html#68">source</a><a href="#impl-Clone-for-MapFieldNames" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html b/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html
index 39d8bd71120..bf101c6cf7c 100644
--- a/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html
+++ b/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for `PrimitiveArray`"><title>PrimitiveBuilder in arrow_array::builder::primitive_builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.wof [...]
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Nati [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Nati [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#148-154">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Creat [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_from_buffer" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#157-172">source</a><h4 class="code-header">pub fn <a href="#method.new_from_buffer" class="fn">new_from_buffer</a>(
     values_buffer: MutableBuffer,
     null_buffer: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;MutableBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new primitive array builder from buffers</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#183-191">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; Self</h4></sec [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#183-191">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>By default <a href="struct.PrimitiveBuilder.html" title="struct arrow_array::builde [...]
 data type of the generated array.</p>
 <p>This method allows overriding the data type, to allow specifying timezones
-for <a href="../../../arrow_schema/datatype/enum.DataType.html#variant.Timestamp" title="variant arrow_schema::datatype::DataType::Timestamp"><code>DataType::Timestamp</code></a> or precision and scale for <a href="../../../arrow_schema/datatype/enum.DataType.html#variant.Decimal128" title="variant arrow_schema::datatype::DataType::Decimal128"><code>DataType::Decimal128</code></a> and <a href="../../../arrow_schema/datatype/enum.DataType.html#variant.Decimal256" title="variant arrow_sche [...]
+for [<code>DataType::Timestamp</code>] or precision and scale for [<code>DataType::Decimal128</code>] and [<code>DataType::Decimal256</code>]</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>This method panics if <code>data_type</code> is not <a href="../../array/primitive_array/struct.PrimitiveArray.html#method.is_compatible" title="associated function arrow_array::array::primitive_array::PrimitiveArray::is_compatible">PrimitiveArray::is_compatible</a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.capacity" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#194-196">source</a><h4 class="code-header">pub fn <a href="#method.capacity" class="fn">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the capacity of t [...]
@@ -42,7 +42,7 @@ the iterator implement <code>TrustedLen</code> once that is stabilized.</p>
     self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
     scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Sets the precision and scale</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Sets the precision and scale</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveBuilder%3CP%3E-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#335-348">source</a><a href="#impl-PrimitiveBuilder%3CP%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;P: <a class="trait" href="../../types/trait.ArrowTimestampType.html" title="trait arrow_array::types::ArrowTimestampType">ArrowTimestampType< [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_timezone_opt" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#342-347">source</a><h4 class="code-header">pub fn <a href="#method.with_timezone_opt" class="fn">with_timezone_opt</a>&lt;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_builder.rs.html#103-133">source</a><a href="#impl-ArrayBuilder-for-PrimitiveBui [...]
diff --git a/arrow_array/builder/primitive_builder/type.Date32Builder.html b/arrow_array/builder/primitive_builder/type.Date32Builder.html
index 13d437d58c9..da7bba40aca 100644
--- a/arrow_array/builder/primitive_builder/type.Date32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Date32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date32Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Date64Builder.html b/arrow_array/builder/primitive_builder/type.Date64Builder.html
index 1ecb04499cc..ca0915fb697 100644
--- a/arrow_array/builder/primitive_builder/type.Date64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Date64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date64Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Decimal128Builder.html b/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
index ce6983160d9..ed99dae0d42 100644
--- a/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal128Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt; [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt; [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Decimal256Builder.html b/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
index dd7af5ba666..d1af2d4b09e 100644
--- a/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal256Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield section-header [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield section-header [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
index 0d823485c1e..3416cd80e26 100644
--- a/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMicrosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
index 059a20d49b3..04f5d86a9a9 100644
--- a/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMillisecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
index 8c541bc3adf..9610be310c0 100644
--- a/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationNanosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
index 2836c349434..7f289a331c0 100644
--- a/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationSecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Float16Builder.html b/arrow_array/builder/primitive_builder/type.Float16Builder.html
index b878903c114..6e3318edd2d 100644
--- a/arrow_array/builder/primitive_builder/type.Float16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float16Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct ha [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct ha [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Float32Builder.html b/arrow_array/builder/primitive_builder/type.Float32Builder.html
index 7ef33e755bd..76a75a816a8 100644
--- a/arrow_array/builder/primitive_builder/type.Float32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float32Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Float64Builder.html b/arrow_array/builder/primitive_builder/type.Float64Builder.html
index 8e975f5cd8d..6f20988ab0c 100644
--- a/arrow_array/builder/primitive_builder/type.Float64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float64Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Int16Builder.html b/arrow_array/builder/primitive_builder/type.Int16Builder.html
index ff28dd183be..7ec0385a506 100644
--- a/arrow_array/builder/primitive_builder/type.Int16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Int32Builder.html b/arrow_array/builder/primitive_builder/type.Int32Builder.html
index 414300b592e..cea562044ee 100644
--- a/arrow_array/builder/primitive_builder/type.Int32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Int64Builder.html b/arrow_array/builder/primitive_builder/type.Int64Builder.html
index 2a71790e0da..8f7c25542c0 100644
--- a/arrow_array/builder/primitive_builder/type.Int64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Int8Builder.html b/arrow_array/builder/primitive_builder/type.Int8Builder.html
index 193e5ca2180..efd94418b2d 100644
--- a/arrow_array/builder/primitive_builder/type.Int8Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int8Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;</co [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;</co [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
index 7f4ea25f857..89c33eac88b 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalDayTimeBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sec [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sec [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
index e9fedd19508..edd1f45b922 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalMonthDayNanoBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;</code></span><span id="structfield.null_buffer_builder" class="structfiel [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;</code></span><span id="structfield.null_buffer_builder" class="structfiel [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
index 5ac51f0b93d..0fe57b582e1 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalYearMonthBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
index 04d55e29203..c51fbe29052 100644
--- a/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32MillisecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
index d44f958dbe8..937d93f8ce3 100644
--- a/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32SecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
index 675ad7c8b6e..82ebcd54af1 100644
--- a/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64MicrosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
index 33d4b2bca9d..c69ae36493c 100644
--- a/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64NanosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
index 227a0d97fe5..0a9c250801e 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMicrosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
index 65696a58ff2..a75d7e1516b 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMillisecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
index cb036fae07f..79b231be20d 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampNanosecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
index f5863db6dae..883140befe4 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampSecondBuilder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.UInt16Builder.html b/arrow_array/builder/primitive_builder/type.UInt16Builder.html
index f155465228e..ee6b69e3ff4 100644
--- a/arrow_array/builder/primitive_builder/type.UInt16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.UInt32Builder.html b/arrow_array/builder/primitive_builder/type.UInt32Builder.html
index 097e3f79af6..740c357c4ea 100644
--- a/arrow_array/builder/primitive_builder/type.UInt32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.UInt64Builder.html b/arrow_array/builder/primitive_builder/type.UInt64Builder.html
index 8b672ddb991..9bb97df7d6c 100644
--- a/arrow_array/builder/primitive_builder/type.UInt64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;</ [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_builder/type.UInt8Builder.html b/arrow_array/builder/primitive_builder/type.UInt8Builder.html
index 900fd98ef01..7d5e8185b37 100644
--- a/arrow_array/builder/primitive_builder/type.UInt8Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt8Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8Builder {
     values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</co [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="../struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</co [...]
\ No newline at end of file
diff --git a/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html b/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
index 11a98793f28..a00ca7b23fe 100644
--- a/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
+++ b/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
@@ -49,7 +49,7 @@
 <code>values_capacity</code>: the number of distinct dictionary values, i.e. size of dictionary</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveDictionaryBuilder%3CK,+V%3E-1" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#208-310">source</a><a href="#impl-PrimitiveDictionaryBuilder%3CK,+V%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="struct" href="struct.PrimitiveDictionaryBuilder.html" title="struct arrow_array::buil [...]
     K: <a class="trait" href="../../types/trait.ArrowDictionaryKeyType.html" title="trait arrow_array::types::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,
-    V: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#217-231">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append [...]
+    V: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#217-231">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append [...]
 if already present in the values array or a new index if the
 value is appended to the values array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#239-241">source</a><h4 class="code-header">pub fn <a href="#method.append_value" class="fn">append_value</a>(&amp;mut self, value: V::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimit [...]
diff --git a/arrow_array/builder/struct.BooleanBuilder.html b/arrow_array/builder/struct.BooleanBuilder.html
index 776405f383f..add1de646ee 100644
--- a/arrow_array/builder/struct.BooleanBuilder.html
+++ b/arrow_array/builder/struct.BooleanBuilder.html
@@ -39,7 +39,7 @@ b.append_value(<span class="bool-val">true</span>);
     &amp;mut self,
     values: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>],
     is_valid: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>]
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends values from a slice of type <code>T</code> and a validity boolean  [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends values from a slice of type <code>T</code> and a validity boolean slice.</p>
 <p>Returns an error if the slices are of different lengths</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><a class="src rightside" href="../../src/arrow_array/builder/boolean_builder.rs.html#143-153">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(&amp;mut self) -&gt; <a class="struct" href="../array/boolean_array/struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h4></section></summary>< [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish_cloned" class="method"><a class="src rightside" href="../../src/arrow_array/builder/boolean_builder.rs.html#156-167">source</a><h4 class="code-header">pub fn <a href="#method.finish_cloned" class="fn">finish_cloned</a>(&amp;self) -&gt; <a class="struct" href="../array/boolean_array/struct.BooleanArray.html" title="struct arrow_array::array::boolean_array::BooleanArray">BooleanArray</a></h4></se [...]
diff --git a/arrow_array/builder/struct.FixedSizeBinaryBuilder.html b/arrow_array/builder/struct.FixedSizeBinaryBuilder.html
index ccfad4ef16f..bc03b939e91 100644
--- a/arrow_array/builder/struct.FixedSizeBinaryBuilder.html
+++ b/arrow_array/builder/struct.FixedSizeBinaryBuilder.html
@@ -20,7 +20,7 @@ that can be appended without reallocating</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><a class="src rightside" href="../../src/arrow_array/builder/fixed_size_binary_builder.rs.html#75-86">source</a><h4 class="code-header">pub fn <a href="#method.append_value" class="fn">append_value</a>(
     &amp;mut self,
     value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a byte slice into the builder.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a byte slice into the builder.</p>
 <p>Automatically update the null buffer to delimit the slice appended in as a
 distinct value element.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_null" class="method"><a class="src rightside" href="../../src/arrow_array/builder/fixed_size_binary_builder.rs.html#90-94">source</a><h4 class="code-header">pub fn <a href="#method.append_null" class="fn">append_null</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Append a null value to the array.</p>
diff --git a/arrow_array/builder/struct.FixedSizeListBuilder.html b/arrow_array/builder/struct.FixedSizeListBuilder.html
index 7e69801bb2b..5f49f2d0d45 100644
--- a/arrow_array/builder/struct.FixedSizeListBuilder.html
+++ b/arrow_array/builder/struct.FixedSizeListBuilder.html
@@ -2,7 +2,7 @@
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
     list_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../array/fixed_size_list_array/struct.FixedSizeListArray.html" title="struct arrow_array::array::fixed_size_list_array::FixedSizeListArray"><code>FixedSizeListArray</code></a></p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{builder::{Int32Builder, FixedSizeListBuilder}, Array, Int32Array};
@@ -40,7 +40,7 @@ builder.append(<span class="bool-val">true</span>);
     <span class="kw-2">*</span>list_array.value(<span class="number">3</span>),
     Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">None</span>])
 )</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.null_buffer_builder" class="structfield section-header"><a href="#structfield.null_buffer_builder" class="anchor field">§</a><code>null_buffer_builder: NullBufferBuilder</code></span><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: T</code></span><s [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.null_buffer_builder" class="structfield section-header"><a href="#structfield.null_buffer_builder" class="anchor field">§</a><code>null_buffer_builder: NullBufferBuilder</code></span><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: T</code></span><s [...]
 <code>value_length</code> is the number of values within each array</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../src/arrow_array/builder/fixed_size_list_builder.rs.html#87-94">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(
     values_builder: T,
@@ -49,7 +49,7 @@ builder.append(<span class="bool-val">true</span>);
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <a href="fixed_size_list_builder/struct.FixedSizeListBuilder.html" title="struct arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder"><code>FixedSizeListBuilder</code></a> from a given values array builder
 <code>value_length</code> is the number of values within each array
 <code>capacity</code> is the number of items to pre-allocate space for in this builder</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/fixed_size_list_builder.rs.html#102-107">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type" href="../../ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/fixed_size_list_builder.rs.html#102-107">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -&gt; Self</h4 [...]
 <p>By default, a nullable field is created with the name <code>item</code></p>
 <p>Note: <a href="fixed_size_list_builder/struct.FixedSizeListBuilder.html#method.finish" title="method arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder::finish"><code>Self::finish</code></a> and <a href="fixed_size_list_builder/struct.FixedSizeListBuilder.html#method.finish_cloned" title="method arrow_array::builder::fixed_size_list_builder::FixedSizeListBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>T</code></p>
diff --git a/arrow_array/builder/struct.GenericByteDictionaryBuilder.html b/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
index 7555d33873d..c148d184ec1 100644
--- a/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
+++ b/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
@@ -26,7 +26,7 @@ API is used to store keys w.r.t the hash of the strings themselves</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_dictionary" class="method"><a class="src rightside" href="../../src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#119-162">source</a><h4 class="code-header">pub fn <a href="#method.new_with_dictionary" class="fn">new_with_dictionary</a>(
     keys_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     dictionary_values: &amp;<a class="struct" href="../array/byte_array/struct.GenericByteArray.html" title="struct arrow_array::array::byte_array::GenericByteArray">GenericByteArray</a>&lt;T&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>GenericByteDictionaryBuilder</code> from a keys capacity and a dictionary
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>GenericByteDictionaryBuilder</code> from a keys capacity and a dictionary
 which is initialized with the given values.
 The indices of those dictionary values are used as keys.</p>
 <h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
@@ -48,7 +48,7 @@ builder.append(<span class="string">"abc"</span>).unwrap();
     T: <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#211-240">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(
     &amp;mut self,
     value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;K::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;K::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Append a value to the array. Return an existing index
 if already present in the values array or a new index if the
 value is appended to the values array.</p>
 <p>Returns an error if the new index would overflow the key type.</p>
diff --git a/arrow_array/builder/struct.GenericListBuilder.html b/arrow_array/builder/struct.GenericListBuilder.html
index d2e0f59dd8c..397ec6de466 100644
--- a/arrow_array/builder/struct.GenericListBuilder.html
+++ b/arrow_array/builder/struct.GenericListBuilder.html
@@ -2,7 +2,7 @@
     offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;,
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../array/list_array/struct.GenericListArray.html" title="struct arrow_array::array::list_array::GenericListArray"><code>GenericListArray</code></a></p>
 <p>Use <a href="type.ListBuilder.html" title="type arrow_array::builder::ListBuilder"><code>ListBuilder</code></a> to build <a href="../array/list_array/type.ListArray.html" title="type arrow_array::array::list_array::ListArray"><code>ListArray</code></a>s and <a href="type.LargeListBuilder.html" title="type arrow_array::builder::LargeListBuilder"><code>LargeListBuilder</code></a> to build <a href="../array/list_array/type.LargeListArray.html" title="type arrow_array::array::list_array:: [...]
 <h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
@@ -53,10 +53,10 @@ builder.append(<span class="bool-val">true</span>);
   array.value_offsets(),
   <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">7</span>]
 );</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sectio [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;OffsetSize&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sectio [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../src/arrow_array/builder/generic_list_builder.rs.html#112-121">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(values_builder: T, capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class= [...]
 <code>capacity</code> is the number of items to pre-allocate space for in this builder</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/generic_list_builder.rs.html#129-134">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type" href="../../arr [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/generic_list_builder.rs.html#129-134">source</a><h4 class="code-header">pub fn <a href="#method.with_field" class="fn">with_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -&gt; Self</h4></ [...]
 <p>By default a nullable field is created with the name <code>item</code></p>
 <p>Note: <a href="generic_list_builder/struct.GenericListBuilder.html#method.finish" title="method arrow_array::builder::generic_list_builder::GenericListBuilder::finish"><code>Self::finish</code></a> and <a href="generic_list_builder/struct.GenericListBuilder.html#method.finish_cloned" title="method arrow_array::builder::generic_list_builder::GenericListBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>T</code></p>
diff --git a/arrow_array/builder/struct.MapBuilder.html b/arrow_array/builder/struct.MapBuilder.html
index 3d9674e06c0..fe4b01ad6f3 100644
--- a/arrow_array/builder/struct.MapBuilder.html
+++ b/arrow_array/builder/struct.MapBuilder.html
@@ -4,7 +4,7 @@
     field_names: <a class="struct" href="map_builder/struct.MapFieldNames.html" title="struct arrow_array::builder::map_builder::MapFieldNames">MapFieldNames</a>,
     key_builder: K,
     value_builder: V,
-    value_field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>&gt;,
+    value_field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FieldRef&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -31,7 +31,7 @@ builder.append(<span class="bool-val">false</span>).unwrap();
 <span class="macro">assert_eq!</span>(array.values().as_ref(), <span class="kw-2">&amp;</span>Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>]));
 <span class="macro">assert_eq!</span>(array.keys().as_ref(), <span class="kw-2">&amp;</span>StringArray::from(<span class="macro">vec!</span>[<span class="string">"joe"</span>, <span class="string">"blogs"</span>, <span class="string">"foo"</span>]));
 </code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt; [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt; [...]
     field_names: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="map_builder/struct.MapFieldNames.html" title="struct arrow_array::builder::map_builder::MapFieldNames">MapFieldNames</a>&gt;,
     key_builder: K,
     value_builder: V
@@ -42,14 +42,14 @@ builder.append(<span class="bool-val">false</span>).unwrap();
     value_builder: V,
     capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>MapBuilder</code> with capacity</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_values_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#120-125">source</a><h4 class="code-header">pub fn <a href="#method.with_values_field" class="fn">with_values_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="type" hre [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_values_field" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#120-125">source</a><h4 class="code-header">pub fn <a href="#method.with_values_field" class="fn">with_values_field</a>(self, field: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;FieldRef&gt;) -&gt; [...]
 <p>By default a nullable field is created with the name <code>values</code></p>
 <p>Note: <a href="map_builder/struct.MapBuilder.html#method.finish" title="method arrow_array::builder::map_builder::MapBuilder::finish"><code>Self::finish</code></a> and <a href="map_builder/struct.MapBuilder.html#method.finish_cloned" title="method arrow_array::builder::map_builder::MapBuilder::finish_cloned"><code>Self::finish_cloned</code></a> will panic if the
 field’s data type does not match that of <code>V</code></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#128-130">source</a><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut K</a></h4></section></summary><div class="docblock"><p>Returns the key array builder of  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#133-135">source</a><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut V</a></h4></section></summary><div class="docblock"><p>Returns the value array bui [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.entries" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#138-140">source</a><h4 class="code-header">pub fn <a href="#method.entries" class="fn">entries</a>(&amp;mut self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut K</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primit [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#146-157">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(&amp;mut self, is_valid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Res [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#146-157">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(&amp;mut self, is_valid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Res [...]
 <p>Returns an error if the key and values builders are in an inconsistent state.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#160-170">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(&amp;mut self) -&gt; <a class="struct" href="../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h4></section></summary><div class="docblock"><p> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.finish_cloned" class="method"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#173-181">source</a><h4 class="code-header">pub fn <a href="#method.finish_cloned" class="fn">finish_cloned</a>(&amp;self) -&gt; <a class="struct" href="../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray">MapArray</a></h4></section></summary><div cla [...]
diff --git a/arrow_array/builder/struct.MapFieldNames.html b/arrow_array/builder/struct.MapFieldNames.html
index c18589c936f..c9f84d2c246 100644
--- a/arrow_array/builder/struct.MapFieldNames.html
+++ b/arrow_array/builder/struct.MapFieldNames.html
@@ -2,10 +2,10 @@
     pub entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
     pub key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
     pub value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> names for a <a href="../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.entry" class="structfield section-header"><a href="#structfield.entry" class="anchor field">§</a><code>entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../arrow_schema/field/struct.Field.html" title="struct arrow [...]
-</div><span id="structfield.key" class="structfield section-header"><a href="#structfield.key" class="anchor field">§</a><code>key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> name for map key</p>
-</div><span id="structfield.value" class="structfield section-header"><a href="#structfield.value" class="anchor field">§</a><code>value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p><a href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field"><code>Field</code></a> name for map value</p>
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The [<code>Field</code>] names for a <a href="../array/map_array/struct.MapArray.html" title="struct arrow_array::array::map_array::MapArray"><code>MapArray</code></a></p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.entry" class="structfield section-header"><a href="#structfield.entry" class="anchor field">§</a><code>entry: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map entries</p>
+</div><span id="structfield.key" class="structfield section-header"><a href="#structfield.key" class="anchor field">§</a><code>key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map key</p>
+</div><span id="structfield.value" class="structfield section-header"><a href="#structfield.value" class="anchor field">§</a><code>value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>[<code>Field</code>] name for map value</p>
 </div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-MapFieldNames" class="impl"><a class="src rightside" href="../../src/arrow_array/builder/map_builder.rs.html#68">source</a><a href="#impl-Clone-for-MapFieldNames" class="anchor">§</a><h3 class="code-header">impl <a class="trait" h [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/arrow_array/builder/struct.PrimitiveBuilder.html b/arrow_array/builder/struct.PrimitiveBuilder.html
index 3a6c5004245..0817841d7d9 100644
--- a/arrow_array/builder/struct.PrimitiveBuilder.html
+++ b/arrow_array/builder/struct.PrimitiveBuilder.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for `PrimitiveArray`"><title>PrimitiveBuilder in arrow_array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium- [...]
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" ti [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" ti [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#148-154">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates  [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.new_from_buffer" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#157-172">source</a><h4 class="code-header">pub fn <a href="#method.new_from_buffer" class="fn">new_from_buffer</a>(
     values_buffer: MutableBuffer,
     null_buffer: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;MutableBuffer&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new primitive array builder from buffers</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#183-191">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>) -&gt; Self</h4></section>< [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#183-191">source</a><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>By default <a href="primitive_builder/struct.PrimitiveBuilder.html" title="struct arro [...]
 data type of the generated array.</p>
 <p>This method allows overriding the data type, to allow specifying timezones
-for <a href="../../arrow_schema/datatype/enum.DataType.html#variant.Timestamp" title="variant arrow_schema::datatype::DataType::Timestamp"><code>DataType::Timestamp</code></a> or precision and scale for <a href="../../arrow_schema/datatype/enum.DataType.html#variant.Decimal128" title="variant arrow_schema::datatype::DataType::Decimal128"><code>DataType::Decimal128</code></a> and <a href="../../arrow_schema/datatype/enum.DataType.html#variant.Decimal256" title="variant arrow_schema::datat [...]
+for [<code>DataType::Timestamp</code>] or precision and scale for [<code>DataType::Decimal128</code>] and [<code>DataType::Decimal256</code>]</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>This method panics if <code>data_type</code> is not <a href="../array/primitive_array/struct.PrimitiveArray.html#method.is_compatible" title="associated function arrow_array::array::primitive_array::PrimitiveArray::is_compatible">PrimitiveArray::is_compatible</a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.capacity" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#194-196">source</a><h4 class="code-header">pub fn <a href="#method.capacity" class="fn">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the capacity of this [...]
@@ -42,7 +42,7 @@ the iterator implement <code>TrustedLen</code> once that is stabilized.</p>
     self,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
     scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Sets the precision and scale</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Sets the precision and scale</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveBuilder%3CP%3E-1" class="impl"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#335-348">source</a><a href="#impl-PrimitiveBuilder%3CP%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;P: <a class="trait" href="../types/trait.ArrowTimestampType.html" title="trait arrow_array::types::ArrowTimestampType">ArrowTimestampType</a>&gt [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.with_timezone_opt" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#342-347">source</a><h4 class="code-header">pub fn <a href="#method.with_timezone_opt" class="fn">with_timezone_opt</a>&lt;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="h [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/builder/primitive_builder.rs.html#103-133">source</a><a href="#impl-ArrayBuilder-for-PrimitiveBuilde [...]
diff --git a/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html b/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html
index 8e24128971a..42e64b49271 100644
--- a/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html
+++ b/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html
@@ -49,7 +49,7 @@
 <code>values_capacity</code>: the number of distinct dictionary values, i.e. size of dictionary</p>
 </div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveDictionaryBuilder%3CK,+V%3E-1" class="impl"><a class="src rightside" href="../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#208-310">source</a><a href="#impl-PrimitiveDictionaryBuilder%3CK,+V%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="struct" href="primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html" title [...]
     K: <a class="trait" href="../types/trait.ArrowDictionaryKeyType.html" title="trait arrow_array::types::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,
-    V: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#217-231">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(& [...]
+    V: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#217-231">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(& [...]
 if already present in the values array or a new index if the
 value is appended to the values array.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><a class="src rightside" href="../../src/arrow_array/builder/primitive_dictionary_builder.rs.html#239-241">source</a><h4 class="code-header">pub fn <a href="#method.append_value" class="fn">append_value</a>(&amp;mut self, value: V::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveTyp [...]
diff --git a/arrow_array/builder/struct.StructBuilder.html b/arrow_array/builder/struct.StructBuilder.html
index a52210416d1..624f1ae8317 100644
--- a/arrow_array/builder/struct.StructBuilder.html
+++ b/arrow_array/builder/struct.StructBuilder.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for `StructArray`"><title>StructBuilder in arrow_array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a78 [...]
-    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;&gt;,
     null_buffer_builder: NullBufferBuilder,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../array/struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a></p>
@@ -72,11 +72,11 @@ To construct a collection builder (<a href="type.ListBuilder.html" title="type a
   <span class="kw">let </span>array = example_col.finish();
 
   <span class="macro">println!</span>(<span class="string">"My array: {:?}"</span>, array);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a></code></span><span id="structfield.field_builders" class="structfield section-header"><a href="#structfield.field_builder [...]
-    fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>&gt;,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: Fields</code></span><span id="structfield.field_builders" class="structfield section-header"><a href="#structfield.field_builders" class="anchor field">§</a><code>field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec [...]
+    fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Fields&gt;,
     field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>StructBuilder</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.from_fields" class="method"><a class="src rightside" href="../../src/arrow_array/builder/struct_builder.rs.html#293-300">source</a><h4 class="code-header">pub fn <a href="#method.from_fields" class="fn">from_fields</a>(fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../arrow_sch [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_fields" class="method"><a class="src rightside" href="../../src/arrow_array/builder/struct_builder.rs.html#293-300">source</a><h4 class="code-header">pub fn <a href="#method.from_fields" class="fn">from_fields</a>(fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Fields&gt;, capacity: <a class="primiti [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.field_builder" class="method"><a class="src rightside" href="../../src/arrow_array/builder/struct_builder.rs.html#305-307">source</a><h4 class="code-header">pub fn <a href="#method.field_builder" class="fn">field_builder</a>&lt;T: <a class="trait" href="trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;(&amp;mut self, i: <a class="primitive" href="https://do [...]
 Result will be <code>None</code> if the input type <code>T</code> provided doesn’t match the actual
 field builder’s type.</p>
diff --git a/arrow_array/builder/struct.UnionBuilder.html b/arrow_array/builder/struct.UnionBuilder.html
index 1edb2671276..93a743b649f 100644
--- a/arrow_array/builder/struct.UnionBuilder.html
+++ b/arrow_array/builder/struct.UnionBuilder.html
@@ -48,7 +48,7 @@ builder.append::&lt;Int32Type&gt;(<span class="string">"a"</span>, <span class="
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_null" class="method"><a class="src rightside" href="../../src/arrow_array/builder/union_builder.rs.html#195-200">source</a><h4 class="code-header">pub fn <a href="#method.append_null" class="fn">append_null</a>&lt;T: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;(
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a null to this builder, encoding the null in the array
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a null to this builder, encoding the null in the array
 of the <code>type_name</code> child / field.</p>
 <p>Since <code>UnionArray</code> encodes nulls as an entry in its children
 (it doesn’t have a validity bitmap itself), and where the null
@@ -58,12 +58,12 @@ specifying which field (child) to use.</p>
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     v: T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a value to this builder.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a value to this builder.</p>
 </div></details><section id="method.append_option" class="method"><a class="src rightside" href="../../src/arrow_array/builder/union_builder.rs.html#212-275">source</a><h4 class="code-header">fn <a href="#method.append_option" class="fn">append_option</a>&lt;T: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;(
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     v: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src r [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../src/arrow_array/builder/union_builder.rs.html#278-312">source</a><h4 class="code-header">pub fn  [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-UnionBuilder" class="impl"><a class="src rightside" href="../../src/arrow_array/builder/union_builder.rs.html#141">source</a><a href="#impl-Debug-for-UnionBuilder" class="anchor">§</a><h3 class="cod [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/arrow_array/builder/struct_builder/fn.make_builder.html b/arrow_array/builder/struct_builder/fn.make_builder.html
index b114a7d45b1..24396c7fd4b 100644
--- a/arrow_array/builder/struct_builder/fn.make_builder.html
+++ b/arrow_array/builder/struct_builder/fn.make_builder.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns a builder with capacity `capacity` that corresponds to the datatype `DataType` This function is useful to construct arrays from an arbitrary vectors with known/expected schema."><title>make_builder in arrow_array::builder::struct_builder - Rust</title><script>if(window.location.p [...]
-    datatype: &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    datatype: &amp;DataType,
     capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a builder with capacity <code>capacity</code> that corresponds to the datatype <c [...]
 This function is useful to construct arrays from an arbitrary vectors with known/expected
diff --git a/arrow_array/builder/struct_builder/struct.StructBuilder.html b/arrow_array/builder/struct_builder/struct.StructBuilder.html
index 482b523d319..3cdc7c9ca72 100644
--- a/arrow_array/builder/struct_builder/struct.StructBuilder.html
+++ b/arrow_array/builder/struct_builder/struct.StructBuilder.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for `StructArray`"><title>StructBuilder in arrow_array::builder::struct_builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
-    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
+    fields: Fields,
     field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;&gt;,
     null_buffer_builder: NullBufferBuilder,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../array/struct_array/struct.StructArray.html" title="struct arrow_array::array::struct_array::StructArray"><code>StructArray</code></a></p>
@@ -72,11 +72,11 @@ To construct a collection builder (<a href="../type.ListBuilder.html" title="typ
   <span class="kw">let </span>array = example_col.finish();
 
   <span class="macro">println!</span>(<span class="string">"My array: {:?}"</span>, array);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a></code></span><span id="structfield.field_builders" class="structfield section-header"><a href="#structfield.field_buil [...]
-    fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>&gt;,
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: Fields</code></span><span id="structfield.field_builders" class="structfield section-header"><a href="#structfield.field_builders" class="anchor field">§</a><code>field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec [...]
+    fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Fields&gt;,
     field_builders: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>StructBuilder</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.from_fields" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/struct_builder.rs.html#293-300">source</a><h4 class="code-header">pub fn <a href="#method.from_fields" class="fn">from_fields</a>(fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../../arr [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_fields" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/struct_builder.rs.html#293-300">source</a><h4 class="code-header">pub fn <a href="#method.from_fields" class="fn">from_fields</a>(fields: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Fields&gt;, capacity: <a class="prim [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.field_builder" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/struct_builder.rs.html#305-307">source</a><h4 class="code-header">pub fn <a href="#method.field_builder" class="fn">field_builder</a>&lt;T: <a class="trait" href="../trait.ArrayBuilder.html" title="trait arrow_array::builder::ArrayBuilder">ArrayBuilder</a>&gt;(&amp;mut self, i: <a class="primitive" href="http [...]
 Result will be <code>None</code> if the input type <code>T</code> provided doesn’t match the actual
 field builder’s type.</p>
diff --git a/arrow_array/builder/type.Date32Builder.html b/arrow_array/builder/type.Date32Builder.html
index 8948a6a7695..940c25325b2 100644
--- a/arrow_array/builder/type.Date32Builder.html
+++ b/arrow_array/builder/type.Date32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date32Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Date64Builder.html b/arrow_array/builder/type.Date64Builder.html
index efa99c0a4bf..432155213c8 100644
--- a/arrow_array/builder/type.Date64Builder.html
+++ b/arrow_array/builder/type.Date64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date64Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Decimal128Builder.html b/arrow_array/builder/type.Decimal128Builder.html
index 63b85562b4e..5957c634e89 100644
--- a/arrow_array/builder/type.Decimal128Builder.html
+++ b/arrow_array/builder/type.Decimal128Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal128Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;</c [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;</c [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Decimal256Builder.html b/arrow_array/builder/type.Decimal256Builder.html
index 39deb1e7883..884a46b3e26 100644
--- a/arrow_array/builder/type.Decimal256Builder.html
+++ b/arrow_array/builder/type.Decimal256Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal256Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield section-header">< [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;i256&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield section-header">< [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.DurationMicrosecondBuilder.html b/arrow_array/builder/type.DurationMicrosecondBuilder.html
index 26f7630cace..eb6b35f6095 100644
--- a/arrow_array/builder/type.DurationMicrosecondBuilder.html
+++ b/arrow_array/builder/type.DurationMicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMicrosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.DurationMillisecondBuilder.html b/arrow_array/builder/type.DurationMillisecondBuilder.html
index be6b845e2c1..7b23e45c897 100644
--- a/arrow_array/builder/type.DurationMillisecondBuilder.html
+++ b/arrow_array/builder/type.DurationMillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMillisecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.DurationNanosecondBuilder.html b/arrow_array/builder/type.DurationNanosecondBuilder.html
index 76216493868..440b18bf83a 100644
--- a/arrow_array/builder/type.DurationNanosecondBuilder.html
+++ b/arrow_array/builder/type.DurationNanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationNanosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.DurationSecondBuilder.html b/arrow_array/builder/type.DurationSecondBuilder.html
index 117b8ff8c58..95116b4c6c0 100644
--- a/arrow_array/builder/type.DurationSecondBuilder.html
+++ b/arrow_array/builder/type.DurationSecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationSecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Float16Builder.html b/arrow_array/builder/type.Float16Builder.html
index 1cd3bb4d349..fb44456cb1a 100644
--- a/arrow_array/builder/type.Float16Builder.html
+++ b/arrow_array/builder/type.Float16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float16Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half: [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="struct" href="https://docs.rs/half/2.4.1/half/binary16/struct.f16.html" title="struct half: [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Float32Builder.html b/arrow_array/builder/type.Float32Builder.html
index dfd582b7655..632cc024be8 100644
--- a/arrow_array/builder/type.Float32Builder.html
+++ b/arrow_array/builder/type.Float32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float32Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Float64Builder.html b/arrow_array/builder/type.Float64Builder.html
index 42cf2cbc287..8cbac611e4a 100644
--- a/arrow_array/builder/type.Float64Builder.html
+++ b/arrow_array/builder/type.Float64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float64Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Int16Builder.html b/arrow_array/builder/type.Int16Builder.html
index 7bc05b7df5f..c321d92add7 100644
--- a/arrow_array/builder/type.Int16Builder.html
+++ b/arrow_array/builder/type.Int16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Int32Builder.html b/arrow_array/builder/type.Int32Builder.html
index 627ef32c60f..0f61f9ff8ea 100644
--- a/arrow_array/builder/type.Int32Builder.html
+++ b/arrow_array/builder/type.Int32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Int64Builder.html b/arrow_array/builder/type.Int64Builder.html
index bb788653c0a..e87dcb8faad 100644
--- a/arrow_array/builder/type.Int64Builder.html
+++ b/arrow_array/builder/type.Int64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Int8Builder.html b/arrow_array/builder/type.Int8Builder.html
index b9b44fed889..7af61a94c4b 100644
--- a/arrow_array/builder/type.Int8Builder.html
+++ b/arrow_array/builder/type.Int8Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;</code> [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;</code> [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.IntervalDayTimeBuilder.html b/arrow_array/builder/type.IntervalDayTimeBuilder.html
index cb89b1c155d..c579f5fdef1 100644
--- a/arrow_array/builder/type.IntervalDayTimeBuilder.html
+++ b/arrow_array/builder/type.IntervalDayTimeBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalDayTimeBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sectio [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalDayTime&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield sectio [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html b/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
index c4bc5e31c2b..72a42bca329 100644
--- a/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
+++ b/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalMonthDayNanoBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield s [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;IntervalMonthDayNano&gt;</code></span><span id="structfield.null_buffer_builder" class="structfield s [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.IntervalYearMonthBuilder.html b/arrow_array/builder/type.IntervalYearMonthBuilder.html
index 6fa818053d0..a2795ad7869 100644
--- a/arrow_array/builder/type.IntervalYearMonthBuilder.html
+++ b/arrow_array/builder/type.IntervalYearMonthBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalYearMonthBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.LargeListBuilder.html b/arrow_array/builder/type.LargeListBuilder.html
index d6de24d3e86..78825ff79e2 100644
--- a/arrow_array/builder/type.LargeListBuilder.html
+++ b/arrow_array/builder/type.LargeListBuilder.html
@@ -3,5 +3,5 @@
     offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>&gt;&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Field&gt;&gt;,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.ListBuilder.html b/arrow_array/builder/type.ListBuilder.html
index be8a0e62a81..e11a9dd29cc 100644
--- a/arrow_array/builder/type.ListBuilder.html
+++ b/arrow_array/builder/type.ListBuilder.html
@@ -3,5 +3,5 @@
     offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
     values_builder: T,
-    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>&gt;&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
+    field: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Field&gt;&gt;,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.offsets_builder" class="structfield section-header"><a href="#structfield.offsets_builder" class="anchor field">§</a><code>offsets_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</ [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Time32MillisecondBuilder.html b/arrow_array/builder/type.Time32MillisecondBuilder.html
index d830255e808..9e836194fd9 100644
--- a/arrow_array/builder/type.Time32MillisecondBuilder.html
+++ b/arrow_array/builder/type.Time32MillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32MillisecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Time32SecondBuilder.html b/arrow_array/builder/type.Time32SecondBuilder.html
index 2fcdc71c231..767427e4f61 100644
--- a/arrow_array/builder/type.Time32SecondBuilder.html
+++ b/arrow_array/builder/type.Time32SecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32SecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Time64MicrosecondBuilder.html b/arrow_array/builder/type.Time64MicrosecondBuilder.html
index b16c272e701..4692d9b0944 100644
--- a/arrow_array/builder/type.Time64MicrosecondBuilder.html
+++ b/arrow_array/builder/type.Time64MicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64MicrosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.Time64NanosecondBuilder.html b/arrow_array/builder/type.Time64NanosecondBuilder.html
index 9a0bd3722c8..5d071229bdb 100644
--- a/arrow_array/builder/type.Time64NanosecondBuilder.html
+++ b/arrow_array/builder/type.Time64NanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64NanosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.TimestampMicrosecondBuilder.html b/arrow_array/builder/type.TimestampMicrosecondBuilder.html
index df9611212bb..48f5fcdb56c 100644
--- a/arrow_array/builder/type.TimestampMicrosecondBuilder.html
+++ b/arrow_array/builder/type.TimestampMicrosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMicrosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.TimestampMillisecondBuilder.html b/arrow_array/builder/type.TimestampMillisecondBuilder.html
index a797cb4caa9..1e6e4eade97 100644
--- a/arrow_array/builder/type.TimestampMillisecondBuilder.html
+++ b/arrow_array/builder/type.TimestampMillisecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMillisecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.TimestampNanosecondBuilder.html b/arrow_array/builder/type.TimestampNanosecondBuilder.html
index 4676d535fcd..78f1d30049a 100644
--- a/arrow_array/builder/type.TimestampNanosecondBuilder.html
+++ b/arrow_array/builder/type.TimestampNanosecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampNanosecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.TimestampSecondBuilder.html b/arrow_array/builder/type.TimestampSecondBuilder.html
index 2f1f028b1aa..7cb6c49cec0 100644
--- a/arrow_array/builder/type.TimestampSecondBuilder.html
+++ b/arrow_array/builder/type.TimestampSecondBuilder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampSecondBuilder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.UInt16Builder.html b/arrow_array/builder/type.UInt16Builder.html
index e603ae0ffe8..71161815494 100644
--- a/arrow_array/builder/type.UInt16Builder.html
+++ b/arrow_array/builder/type.UInt16Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.UInt32Builder.html b/arrow_array/builder/type.UInt32Builder.html
index abedc6209ef..036ab251aa8 100644
--- a/arrow_array/builder/type.UInt32Builder.html
+++ b/arrow_array/builder/type.UInt32Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.UInt64Builder.html b/arrow_array/builder/type.UInt64Builder.html
index 0b33bebbed6..7b7d07067f2 100644
--- a/arrow_array/builder/type.UInt64Builder.html
+++ b/arrow_array/builder/type.UInt64Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;</cod [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>&gt;</cod [...]
\ No newline at end of file
diff --git a/arrow_array/builder/type.UInt8Builder.html b/arrow_array/builder/type.UInt8Builder.html
index 6582dd6f030..3c11f00ff6d 100644
--- a/arrow_array/builder/type.UInt8Builder.html
+++ b/arrow_array/builder/type.UInt8Builder.html
@@ -2,5 +2,5 @@
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8Builder {
     values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</code> [...]
\ No newline at end of file
+    data_type: DataType,
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BufferBuilder.html" title="struct arrow_array::builder::BufferBuilder">BufferBuilder</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</code> [...]
\ No newline at end of file
diff --git a/arrow_array/builder/union_builder/struct.FieldData.html b/arrow_array/builder/union_builder/struct.FieldData.html
index 83318a2e771..464ceaa4e6a 100644
--- a/arrow_array/builder/union_builder/struct.FieldData.html
+++ b/arrow_array/builder/union_builder/struct.FieldData.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`FieldData` is a helper struct to track the state of the fields in the `UnionBuilder`."><title>FieldData in arrow_array::builder::union_builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295. [...]
     type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     values_buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.FieldDataValues.html" title="trait arrow_array::builder::union_builder::FieldDataValues">FieldDataValues</a>&gt;,
     slots: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     null_buffer_builder: NullBufferBuilder,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>FieldData</code> is a helper struct to track the state of the fields in the <code>UnionBuilder</code>.</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.type_id" class="structfield section-header"><a href="#structfield.type_id" class="anchor field">§</a><code>type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></code></span><div class="docblock"><p>The type id for this field</p>
-</div><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></code></span><div class="docblock"><p>The Arrow data type represented in the <code>values_buffer</code>, which is untyped</p>
+</div><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><div class="docblock"><p>The Arrow data type represented in the <code>values_buffer</code>, which is untyped</p>
 </div><span id="structfield.values_buffer" class="structfield section-header"><a href="#structfield.values_buffer" class="anchor field">§</a><code>values_buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.FieldDataValues.html" title="trait arrow_array::builder::union_builder::FieldDataValues">FieldDataValues</a>&gt;</code></span><div class="docblock"><p>A buffer contai [...]
 </div><span id="structfield.slots" class="structfield section-header"><a href="#structfield.slots" class="anchor field">§</a><code>slots: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class="docblock"><p>The number of array slots represented by the buffer</p>
 </div><span id="structfield.null_buffer_builder" class="structfield section-header"><a href="#structfield.null_buffer_builder" class="anchor field">§</a><code>null_buffer_builder: NullBufferBuilder</code></span><div class="docblock"><p>A builder for the null bitmap</p>
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-FieldData" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#67-97">source</a><a href="#impl-FieldData" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.FieldData.html" title="struct a [...]
     type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
-    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>FieldData</code>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#80-89">source</a><h4 class="code-header">fn <a href="#method.append_value" class="fn">append_value</a>&lt;T: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;(&amp;mut self, v: T::<a class="ass [...]
diff --git a/arrow_array/builder/union_builder/struct.UnionBuilder.html b/arrow_array/builder/union_builder/struct.UnionBuilder.html
index df44cfaa100..d3334941667 100644
--- a/arrow_array/builder/union_builder/struct.UnionBuilder.html
+++ b/arrow_array/builder/union_builder/struct.UnionBuilder.html
@@ -48,7 +48,7 @@ builder.append::&lt;Int32Type&gt;(<span class="string">"a"</span>, <span class="
 </div></details><details class="toggle method-toggle" open><summary><section id="method.append_null" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#195-200">source</a><h4 class="code-header">pub fn <a href="#method.append_null" class="fn">append_null</a>&lt;T: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;(
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a null to this builder, encoding the null in the array
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a null to this builder, encoding the null in the array
 of the <code>type_name</code> child / field.</p>
 <p>Since <code>UnionArray</code> encodes nulls as an entry in its children
 (it doesn’t have a validity bitmap itself), and where the null
@@ -58,12 +58,12 @@ specifying which field (child) to use.</p>
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     v: T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends a value to this builder.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Appends a value to this builder.</p>
 </div></details><section id="method.append_option" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#212-275">source</a><h4 class="code-header">fn <a href="#method.append_option" class="fn">append_option</a>&lt;T: <a class="trait" href="../../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;(
     &amp;mut self,
     type_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     v: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T::<a class="associatedtype" href="../../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="sr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#278-312">source</a><h4 class="code-header">pub  [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-UnionBuilder" class="impl"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#141">source</a><a href="#impl-Debug-for-UnionBuilder" class="anchor">§</a><h3 class=" [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/arrow_array/cast/fn.downcast_array.html b/arrow_array/cast/fn.downcast_array.html
index 938b5e6f403..00f129e1fb8 100644
--- a/arrow_array/cast/fn.downcast_array.html
+++ b/arrow_array/cast/fn.downcast_array.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Downcasts a `dyn Array` to a concrete type"><title>downcast_array in arrow_array::cast - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSan [...]
-    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>&gt;,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcasts a <code>dyn Array</code> to a concrete type</p>
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;ArrayData&gt;,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcasts a <code>dyn Array</code> to a concrete type</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>ConcreteBatch {
     col1: Int32Array,
diff --git a/arrow_array/ffi/fn.bit_width.html b/arrow_array/ffi/fn.bit_width.html
index 39653947653..82b466c565f 100644
--- a/arrow_array/ffi/fn.bit_width.html
+++ b/arrow_array/ffi/fn.bit_width.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `bit_width` fn in crate `arrow_array`."><title>bit_width in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `bit_width` fn in crate `arrow_array`."><title>bit_width in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
\ No newline at end of file
diff --git a/arrow_array/ffi/fn.export_array_into_raw.html b/arrow_array/ffi/fn.export_array_into_raw.html
index c6dd46ba3eb..9cfcf7f0935 100644
--- a/arrow_array/ffi/fn.export_array_into_raw.html
+++ b/arrow_array/ffi/fn.export_array_into_raw.html
@@ -2,7 +2,7 @@
     src: <a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     out_array: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>,
     out_schema: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</code></pre><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: Use FFI_Arro [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</code></pre><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: Use FFI_ArrowArray::new and FFI_ArrowSchema::try_from</span></div></span><details class="toggle top-doc" open><summary class="hide [...]
 <h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
 <p>Assumes that these pointers represent valid C Data Interfaces, both in memory
 representation and lifetime via the <code>release</code> mechanism.</p>
diff --git a/arrow_array/ffi/fn.from_ffi.html b/arrow_array/ffi/fn.from_ffi.html
index e23c4d24c12..8b8f07ef1ad 100644
--- a/arrow_array/ffi/fn.from_ffi.html
+++ b/arrow_array/ffi/fn.from_ffi.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Import ArrayData from the C Data Interface"><title>from_ffi in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Mediu [...]
     array: <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>,
     schema: &amp;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand desc [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;ArrayData, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Import [ArrayData] from the C Data Interface</p>
 <h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
 <p>This struct assumes that the incoming data agrees with the C data interface.</p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/ffi/fn.from_ffi_and_data_type.html b/arrow_array/ffi/fn.from_ffi_and_data_type.html
index 8f8f647512f..be33847006b 100644
--- a/arrow_array/ffi/fn.from_ffi_and_data_type.html
+++ b/arrow_array/ffi/fn.from_ffi_and_data_type.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Import ArrayData from the C Data Interface"><title>from_ffi_and_data_type in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2, [...]
     array: <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand desc [...]
+    data_type: DataType
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;ArrayData, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Import [ArrayData] from the C Data Interface</p>
 <h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
 <p>This struct assumes that the incoming data agrees with the C data interface.</p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/ffi/fn.to_ffi.html b/arrow_array/ffi/fn.to_ffi.html
index 200c9e5f7ae..90fb704fe2f 100644
--- a/arrow_array/ffi/fn.to_ffi.html
+++ b/arrow_array/ffi/fn.to_ffi.html
@@ -1,4 +1,4 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Export to the C Data Interface"><title>to_ffi in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970 [...]
-    data: &amp;<a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>, <a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>), <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::Arr [...]
+    data: &amp;ArrayData
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>, <a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>), ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand desc [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/ffi/index.html b/arrow_array/ffi/index.html
index d255105d17d..e122c0fc4d6 100644
--- a/arrow_array/ffi/index.html
+++ b/arrow_array/ffi/index.html
@@ -44,4 +44,4 @@ This is handled by <a href="struct.FFI_ArrowSchema.html" title="struct arrow_arr
 See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions">https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions</a></div></li><li><div class="item-name"><a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a></div><div class="desc docblock-short">ABI-compatible struct for <code>ArrowSchema</code> from C Data Interface
 See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions">https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions</a></div></li><li><div class="item-name"><a class="struct" href="struct.ImportedArrowArray.html" title="struct arrow_array::ffi::ImportedArrowArray">ImportedArrowArray</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anc [...]
 <code>bits</code> is the number of bits that the native type of this buffer has.
-The size of the buffer will be <code>ceil(self.length * bits, 8)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.export_array_into_raw.html" title="fn arrow_array::ffi::export_array_into_raw">export_array_into_raw</a><sup title="unsafe function">⚠</sup><span class="stab deprecated" title="">Deprecated</span></div><div class="desc docblock-short">Exports an array to raw pointers of the C Data Interface provided by the consumer.</div></li><li><div class="item-name"><a c [...]
\ No newline at end of file
+The size of the buffer will be <code>ceil(self.length * bits, 8)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.export_array_into_raw.html" title="fn arrow_array::ffi::export_array_into_raw">export_array_into_raw</a><sup title="unsafe function">⚠</sup><span class="stab deprecated" title="">Deprecated</span></div><div class="desc docblock-short">Exports an array to raw pointers of the C Data Interface provided by the consumer.</div></li><li><div class="item-name"><a c [...]
\ No newline at end of file
diff --git a/arrow_array/ffi/struct.FFI_ArrowArray.html b/arrow_array/ffi/struct.FFI_ArrowArray.html
index 8efe468ed2f..1119d2074ff 100644
--- a/arrow_array/ffi/struct.FFI_ArrowArray.html
+++ b/arrow_array/ffi/struct.FFI_ArrowArray.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="ABI-compatible struct for ArrowArray from C Data Interface See https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions"><title>FFI_ArrowArray in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="ABI-compatible struct for ArrowArray from C Data Interface See https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions"><title>FFI_ArrowArray in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend [...]
     length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>,
     null_count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>,
     offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>,
@@ -15,8 +15,8 @@ See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">fn </span>export_array(array: <span class="kw-2">&amp;</span>ArrayData) -&gt; FFI_ArrowArray {
     FFI_ArrowArray::new(array)
 }</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.length" class="structfield section-header"><a href="#structfield.length" class="anchor field">§</a><code>length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a></code></span><span id="structfield.null_count" class="structfield section-header"><a href="#structfield.null_count" class="anchor field">§</a><code>null_ [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#212">source</a><h4 class="code-header">pub unsafe fn <a href="#method.from_raw" class="fn">from_raw</a>(array: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_Ar [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.length" class="structfield section-header"><a href="#structfield.length" class="anchor field">§</a><code>length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a></code></span><span id="structfield.null_count" class="structfield section-header"><a href="#structfield.null_count" class="anchor field">§</a><code>null_ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.from_raw" class="fn">from_raw</a>(array: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>) -&gt; <a class="struct" href="struct.FFI_ArrowArray.html" title=" [...]
 <p>This acts to <a href="https://arrow.apache.org/docs/format/CDataInterface.html#moving-an-array">move</a> the data out of <code>array</code>, setting the release callback to NULL</p>
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <ul>
@@ -24,20 +24,20 @@ See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-
 <li><code>array</code> must be properly aligned</li>
 <li><code>array</code> must point to a properly initialized value of <a href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray"><code>FFI_ArrowArray</code></a></li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.empty" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#217">source</a><h4 class="code-header">pub fn <a href="#method.empty" class="fn">empty</a>() -&gt; <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a></h4></section></summary><div class="docblock"><p>create an empty <code>FFI_ArrowArray</code>, which  [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#234">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the length of the array</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#240">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>whether the array is empty</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_released" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#246">source</a><h4 class="code-header">pub fn <a href="#method.is_released" class="fn">is_released</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the array has been released</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.offset" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#252">source</a><h4 class="code-header">pub fn <a href="#method.offset" class="fn">offset</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the offset of the array</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#258">source</a><h4 class="code-header">pub fn <a href="#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the null count of the array</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.buffer" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#267">source</a><h4 class="code-header">pub fn <a href="#method.buffer" class="fn">buffer</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.empty" class="method"><h4 class="code-header">pub fn <a href="#method.empty" class="fn">empty</a>() -&gt; <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a></h4></section></summary><div class="docblock"><p>create an empty <code>FFI_ArrowArray</code>, which can be used to import data into</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the length of the array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>whether the array is empty</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_released" class="method"><h4 class="code-header">pub fn <a href="#method.is_released" class="fn">is_released</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the array has been released</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offset" class="method"><h4 class="code-header">pub fn <a href="#method.offset" class="fn">offset</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the offset of the array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method"><h4 class="code-header">pub fn <a href="#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>the null count of the array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.buffer" class="method"><h4 class="code-header">pub fn <a href="#method.buffer" class="fn">buffer</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.htm [...]
 <h5 id="panic"><a class="doc-anchor" href="#panic">§</a>Panic</h5>
 <p>Panics if index exceeds the number of buffers or the buffer is not correctly aligned</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.num_buffers" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#277">source</a><h4 class="code-header">pub fn <a href="#method.num_buffers" class="fn">num_buffers</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of buffers</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.child" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#283">source</a><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray"> [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.num_children" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#296">source</a><h4 class="code-header">pub fn <a href="#method.num_children" class="fn">num_children</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of children</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.dictionary" class="method"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#302">source</a><h4 class="code-header">pub fn <a href="#method.dictionary" class="fn">dictionary</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="struct.FFI_ArrowArray.html" titl [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-FFI_ArrowArray" class="impl"><a class="src rightside" href="../../src/arrow_data/ffi.rs.html#38">source</a><a href="#impl-Debug-for-FFI_ArrowArray" class="anchor">§</a><h3 class="code-header">impl < [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.num_buffers" class="method"><h4 class="code-header">pub fn <a href="#method.num_buffers" class="fn">num_buffers</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of buffers</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.child" class="method"><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a></h4></section></summary><div class="docblock"><p>Returns the [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.num_children" class="method"><h4 class="code-header">pub fn <a href="#method.num_children" class="fn">num_children</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of children</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.dictionary" class="method"><h4 class="code-header">pub fn <a href="#method.dictionary" class="fn">dictionary</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>&gt;</h4></sectio [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-FFI_ArrowArray" class="impl"><a href="#impl-Debug-for-FFI_ArrowArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.h [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/ffi/struct.FFI_ArrowSchema.html b/arrow_array/ffi/struct.FFI_ArrowSchema.html
index 712368bfe86..0c17891e1fe 100644
--- a/arrow_array/ffi/struct.FFI_ArrowSchema.html
+++ b/arrow_array/ffi/struct.FFI_ArrowSchema.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="ABI-compatible struct for `ArrowSchema` from C Data Interface See https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions"><title>FFI_ArrowSchema in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("befor [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="ABI-compatible struct for `ArrowSchema` from C Data Interface See https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions"><title>FFI_ArrowSchema in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("befor [...]
     format: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
     name: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
     metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
@@ -14,18 +14,18 @@ See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">fn </span>array_schema(data_type: <span class="kw-2">&amp;</span>DataType) -&gt; FFI_ArrowSchema {
     FFI_ArrowSchema::try_from(data_type).unwrap()
 }</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></code></span><span id="structfield.name" class="structf [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></code></span><span id="structfield.name" class="structf [...]
     format: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>&gt;,
     dictionary: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>create a new <a href="struct.FFI_ArrowSchema. [...]
-<a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> is not supported.</p>
-</div></details><section id="method.with_name" class="method"><a class="src rightside" href="../../src/arrow_schema/ffi.rs.html#158">source</a><h4 class="code-header">pub fn <a href="#method.with_name" class="fn">with_name</a>(self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="stru [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>create a new <a href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema"><code>FFI_ArrowSchema</code></a>. This fails if the fields’
+[<code>DataType</code>] is not supported.</p>
+</div></details><section id="method.with_name" class="method"><h4 class="code-header">pub fn <a href="#method.with_name" class="fn">with_name</a>(self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowS [...]
     self,
     metadata: I
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, ArrowError&gt;<div class="where">where
     I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(S, S)</a>&gt;,
-    S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><a class="src rightside" href="../../src/arrow_schema/ffi.rs.html#236">source</a><h4 class="code-header">pub unsafe fn <a href="#metho [...]
+    S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.from_raw" class="fn">from_raw</a>(schema: <a class="primitive" href="https://do [...]
 <p>This acts to <a href="https://arrow.apache.org/docs/format/CDataInterface.html#moving-an-array">move</a> the data out of <code>schema</code>, setting the release callback to NULL</p>
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <ul>
@@ -33,12 +33,12 @@ See <a href="https://arrow.apache.org/docs/format/CDataInterface.html#structure-
 <li><code>schema</code> must be properly aligned</li>
 <li><code>schema</code> must point to a properly initialized value of <a href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema"><code>FFI_ArrowSchema</code></a></li>
 </ul>
-</div></details><section id="method.empty" class="method"><a class="src rightside" href="../../src/arrow_schema/ffi.rs.html#240">source</a><h4 class="code-header">pub fn <a href="#method.empty" class="fn">empty</a>() -&gt; <a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.format" class="method"><a class="src rightside" href="../../s [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.name" class="method"><a class="src rightside" href="../../src/arrow_schema/ffi.rs.html#264">source</a><h4 class="code-header">pub fn <a href="#method.name" class="fn">name</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>returns the name of this schema.</p>
-</div></details><section id="method.flags" class="method"><a class="src rightside" href="../../src/arrow_schema/ffi.rs.html#272">source</a><h4 class="code-header">pub fn <a href="#method.flags" class="fn">flags</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../arrow_schema/ffi/flags/struct.Flags.html" title="struct arrow_schema::ffi::flags::Flags">Flags</ [...]
-    value: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, &lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="t [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Error-6" class="associatedtype trait-impl"><a href="#associatedtype.Error-6" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a></h4></section></summary [...]
+</div></details><section id="method.empty" class="method"><h4 class="code-header">pub fn <a href="#method.empty" class="fn">empty</a>() -&gt; <a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.format" class="method"><h4 class="code-header">pub fn <a href="#method.format" class="fn">format</a>(&amp;self) -&gt; &amp;<a class="primitive [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.name" class="method"><h4 class="code-header">pub fn <a href="#method.name" class="fn">name</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>returns the name of this schema.</p>
+</div></details><section id="method.flags" class="method"><h4 class="code-header">pub fn <a href="#method.flags" class="fn">flags</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Flags&gt;</h4></section><section id="method.child" class="method"><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lan [...]
+    value: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Field&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a>, &lt;<a class="struct" href="struct.FFI_ArrowSchema.html" title="struct arrow_array::ffi::FFI_ArrowSchema">FFI_ArrowSchema</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="t [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Error-6" class="associatedtype trait-impl"><a href="#associatedtype.Error-6" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = ArrowError</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details><details c [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/ffi/struct.ImportedArrowArray.html b/arrow_array/ffi/struct.ImportedArrowArray.html
index 98b04b995f1..7472a2a33c2 100644
--- a/arrow_array/ffi/struct.ImportedArrowArray.html
+++ b/arrow_array/ffi/struct.ImportedArrowArray.html
@@ -1,24 +1,24 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ImportedArrowArray` struct in crate `arrow_array`."><title>ImportedArrowArray in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fira [...]
     array: &amp;'a <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>,
-    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
+    data_type: DataType,
     owner: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a>&gt;,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.array" class="structfield section-header"><a href="#structfield.array" class="anchor field">§</a><code>array: &amp;'a <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anc [...]
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.array" class="structfield section-header"><a href="#structfield.array" class="anchor field">§</a><code>array: &amp;'a <a class="struct" href="struct.FFI_ArrowArray.html" title="struct arrow_array::ffi::FFI_ArrowArray">FFI_ArrowArray</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anc [...]
     &amp;self,
     index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
-    child_type: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../arrow_data/data/struct.ArrayData.html" title="struct arrow_data::data::ArrayData">ArrayData</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.buff [...]
+    child_type: &amp;DataType
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;ArrayData, ArrowError&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.buffers" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#376-396">source</a><h4 class="code-header">fn <a href="#method.buffers" class="fn">buffers</a>(
     &amp;self,
     can_contain_null_mask: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>returns all buffers, as organ [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Buffer&gt;, ArrowError&gt;</h4></section></summary><div class="docblock"><p>returns all buffers, as organized by Rust (i.e. null buffer is skipped if it’s present
 in the spec of the type)</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.buffer_len" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#402-461">source</a><h4 class="code-header">fn <a href="#method.buffer_len" class="fn">buffer_len</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, dt: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_sc [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.buffer_len" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#402-461">source</a><h4 class="code-header">fn <a href="#method.buffer_len" class="fn">buffer_len</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, dt: &amp;DataType) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.R [...]
 Rust implementation uses fixed-sized buffers, which require knowledge of their <code>len</code>.
 for variable-sized buffers, such as the second buffer of a stringArray, we need
 to fetch offset buffer’s len to build the second buffer.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.null_bit_buffer" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#466-474">source</a><h4 class="code-header">fn <a href="#method.null_bit_buffer" class="fn">null_bit_buffer</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Buffer&gt;</h4></section></summary><div class [...]
 Rust implementation uses a buffer that is not part of the array of buffers.
 The C Data interface’s null buffer is part of the array of buffers.</p>
-</div></details><section id="method.dictionary" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#476-491">source</a><h4 class="code-header">fn <a href="#method.dictionary" class="fn">dictionary</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option:: [...]
+</div></details><section id="method.dictionary" class="method"><a class="src rightside" href="../../src/arrow_array/ffi.rs.html#476-491">source</a><h4 class="code-header">fn <a href="#method.dictionary" class="fn">dictionary</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option:: [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/ffi/type.Result.html b/arrow_array/ffi/type.Result.html
index fc173722689..d7d9cc835a7 100644
--- a/arrow_array/ffi/type.Result.html
+++ b/arrow_array/ffi/type.Result.html
@@ -1,6 +1,6 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `arrow_array`."><title>Result in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `arrow_array`."><title>Result in arrow_array::ffi - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
     Ok(T),
-    Err(<a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>),
+    Err(ArrowError),
 }</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Ok" class="variant"><a href="#variant.Ok" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Ok(T)</h3></section><div class="docblock"><p>Contains the success value</p>
-</div><section id="variant.Err" class="variant"><a href="#variant.Err" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Err(<a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>)</h3></section><div class="docblock"><p>Contains the error value</p>
+</div><section id="variant.Err" class="variant"><a href="#variant.Err" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Err(ArrowError)</h3></section><div class="docblock"><p>Contains the error value</p>
 </div></div><script src="../../type.impl/core/result/enum.Result.js" data-self-path="arrow_array::ffi::Result" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/ffi_stream/fn.get_error_code.html b/arrow_array/ffi_stream/fn.get_error_code.html
index 002847e445b..03616bff42c 100644
--- a/arrow_array/ffi_stream/fn.get_error_code.html
+++ b/arrow_array/ffi_stream/fn.get_error_code.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `get_error_code` fn in crate `arrow_array`."><title>get_error_code in arrow_array::ffi_stream - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans- [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `get_error_code` fn in crate `arrow_array`."><title>get_error_code in arrow_array::ffi_stream - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans- [...]
\ No newline at end of file
diff --git a/arrow_array/ffi_stream/fn.get_stream_schema.html b/arrow_array/ffi_stream/fn.get_stream_schema.html
index 17fe0d8d327..e0dbad3299d 100644
--- a/arrow_array/ffi_stream/fn.get_stream_schema.html
+++ b/arrow_array/ffi_stream/fn.get_stream_schema.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Gets schema from a raw pointer of `FFI_ArrowArrayStream`. This is used when constructing `ArrowArrayStreamReader` to cache schema."><title>get_stream_schema in arrow_array::ffi_stream - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend" [...]
     stream_ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand de [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;SchemaRef, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Gets schema from a raw pointer of <code>FFI_ArrowArrayStream</code>. This is used when constructing
 <code>ArrowArrayStreamReader</code> to cache schema.</p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html b/arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html
index 973fb3fe7db..d2ca741c6a1 100644
--- a/arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html
+++ b/arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `RecordBatchReader` which imports Arrays from `FFI_ArrowArrayStream`. Struct used to fetch `RecordBatch` from the C Stream Interface. Its main responsibility is to expose `RecordBatchReader` functionality that requires FFI_ArrowArrayStream."><title>ArrowArrayStreamReader in arrow_array [...]
     stream: <a class="struct" href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a>,
-    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <code>RecordBatchReader</code> which imports Arrays from <code>FFI_ArrowArrayStream</code>.
 Struct used to fetch <code>RecordBatch</code> from the C Stream Interface.
 Its main responsibility is to expose <code>RecordBatchReader</code> functionality
 that requires <a href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a>.</p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.stream" class="structfield section-header"><a href="#structfield.stream" class="anchor field">§</a><code>stream: <a class="struct" href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a></code></span><span id="structfield.schema" class="structfield section-header"><a href="#structfield.sc [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.stream" class="structfield section-header"><a href="#structfield.stream" class="anchor field">§</a><code>stream: <a class="struct" href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a></code></span><span id="structfield.schema" class="structfield section-header"><a href="#structfield.sc [...]
 This is used to import from the C Stream Interface.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#330-332">source</a><h4 class="code-header">pub unsafe fn <a href="#method.from_raw" class="fn">from_raw</a>(
     raw_stream: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="struct" href="struct.FFI_ArrowArrayStream.html" title="struct arrow_array::ffi_stream::FFI_ArrowArrayStream">FFI_ArrowArrayStream</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>ArrowArrayStreamReader</code> from a raw pointer of <code>FFI_ArrowArrayStream</code>.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>ArrowArrayStreamReader</code> from a raw pointer of <code>FFI_ArrowArrayStream</code>.</p>
 <p>Assumes that the pointer represents valid C Stream Interfaces.
 This function copies the content from the raw pointer and cleans up it to prevent
 double-dropping. The caller is responsible for freeing up the memory allocated for
@@ -17,7 +17,7 @@ the pointer.</p>
 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
 <p>See <a href="struct.FFI_ArrowArrayStream.html#method.from_raw" title="associated function arrow_array::ffi_stream::FFI_ArrowArrayStream::from_raw"><code>FFI_ArrowArrayStream::from_raw</code></a></p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_stream_last_error" class="method"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#335-345">source</a><h4 class="code-header">fn <a href="#method.get_stream_last_error" class="fn">get_stream_last_error</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-ArrowArrayStreamReader" class="impl"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#281">source</a><a href="#impl-Debug-for-ArrowArrayStreamReader" class="anchor">§</a><h3 c [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-ArrowArrayStreamReader" class="impl"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#281">source</a><a href="#impl-Debug-for-ArrowArrayStreamReader" class="anchor">§</a><h3 c [...]
     &amp;mut self
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/n [...]
@@ -203,7 +203,7 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; K,
     K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-ArrowArrayStreamReader" class="impl"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#374-378">source</a><a href="#impl-RecordBatchReader-for-ArrowArrayStreamReader" class="anchor">§</a><h3 class="code- [...]
+function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-ArrowArrayStreamReader" class="impl"><a class="src rightside" href="../../src/arrow_array/ffi_stream.rs.html#374-378">source</a><a href="#impl-RecordBatchReader-for-ArrowArrayStreamReader" class="anchor">§</a><h3 class="code- [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/ffi_stream/type.Result.html b/arrow_array/ffi_stream/type.Result.html
index 255b3152af9..88dc02a0a83 100644
--- a/arrow_array/ffi_stream/type.Result.html
+++ b/arrow_array/ffi_stream/type.Result.html
@@ -1,6 +1,6 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `arrow_array`."><title>Result in arrow_array::ffi_stream - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `arrow_array`."><title>Result in arrow_array::ffi_stream - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
     Ok(T),
-    Err(<a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>),
+    Err(ArrowError),
 }</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Ok" class="variant"><a href="#variant.Ok" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Ok(T)</h3></section><div class="docblock"><p>Contains the success value</p>
-</div><section id="variant.Err" class="variant"><a href="#variant.Err" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Err(<a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>)</h3></section><div class="docblock"><p>Contains the error value</p>
+</div><section id="variant.Err" class="variant"><a href="#variant.Err" class="anchor">§</a><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><h3 class="code-header">Err(ArrowError)</h3></section><div class="docblock"><p>Contains the error value</p>
 </div></div><script src="../../type.impl/core/result/enum.Result.js" data-self-path="arrow_array::ffi_stream::Result" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/index.html b/arrow_array/index.html
index fbf0d507615..6d8e148f14c 100644
--- a/arrow_array/index.html
+++ b/arrow_array/index.html
@@ -106,16 +106,16 @@ it is often the case that you wish to interact with the concrete arrays directly
     array.as_primitive::&lt;Float32Type&gt;().values()
 }</code></pre></div>
 </div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><code>pub use <a class="mod" href="array/index.html" title="mod arrow_array::array">array</a>::*;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="arithmetic/index.html" title="mod arrow_array: [...]
-<a href="../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="mod" href="run_iterator/index.html" title="mod arrow_array::run_iterator">run_iterator</a></div><div class="desc docblock-short">Idiomatic iterator for <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>RunArray</code></a></div></li><li><div class="item-name"><a class="mod" href="scalar/index.html" title="mo [...]
-a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_integer.html" title="macro arrow_array::downcast_integer">downcast_integer</a></div><div class="desc docblock-short">Given one or more expressions evaluating to an integer <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
-<code>m</code> with the corresponding integer <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_primitive.html" title="macro arrow_array::downcast_primitive">downcast_primitive</a></div><div class="desc docblock-short">Given one or more expressions evaluating to primitive <a href="../arrow_sch [...]
-<code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_primitive_array.html" title="macro arrow_array::downcast_primitive_array">downcast_primitive_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_a [...]
-accepts a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_run_array.html" title="macro arrow_array::downcast_run_array">downcast_run_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/run_array/struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray"><code>RunArray</ [...]
-a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_run_end_index.html" title="macro arrow_array::downcast_run_end_index">downcast_run_end_index</a></div><div class="desc docblock-short">Given one or more expressions evaluating to an integer <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
-<code>m</code> with the corresponding integer <a href="types/trait.RunEndIndexType.html" title="trait arrow_array::types::RunEndIndexType"><code>RunEndIndexType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_temporal.html" title="macro arrow_array::downcast_temporal">downcast_temporal</a></div><div class="desc docblock-short">Given one or more expressions evaluating to primitive <a href="../arrow_schema/datatype [...]
-<code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_temporal_array.html" title="macro arrow_array::downcast_temporal_array">downcast_temporal_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_arra [...]
+<a href="arrow_schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="mod" href="run_iterator/index.html" title="mod arrow_array::run_iterator">run_iterator</a></div><div class="desc docblock-short">Idiomatic iterator for <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>RunArray</code></a></div></li><li><div class="item-name"><a class="mod" href="scalar/index.html" title="mod arrow_array::scalar">scalar</a><span title="Restricted Visibili [...]
+a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_integer.html" title="macro arrow_array::downcast_integer">downcast_integer</a></div><div class="desc docblock-short">Given one or more expressions evaluating to an integer <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
+<code>m</code> with the corresponding integer <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_primitive.html" title="macro arrow_array::downcast_primitive">downcast_primitive</a></div><div class="desc docblock-short">Given one or more expressions evaluating to primitive <a href="arrow_schema [...]
+<code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_primitive_array.html" title="macro arrow_array::downcast_primitive_array">downcast_primitive_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_a [...]
+accepts a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_run_array.html" title="macro arrow_array::downcast_run_array">downcast_run_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/run_array/struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray"><code>RunArray</ [...]
+a number of subsequent patterns to match the data type</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_run_end_index.html" title="macro arrow_array::downcast_run_end_index">downcast_run_end_index</a></div><div class="desc docblock-short">Given one or more expressions evaluating to an integer <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
+<code>m</code> with the corresponding integer <a href="types/trait.RunEndIndexType.html" title="trait arrow_array::types::RunEndIndexType"><code>RunEndIndexType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_temporal.html" title="macro arrow_array::downcast_temporal">downcast_temporal</a></div><div class="desc docblock-short">Given one or more expressions evaluating to primitive <a href="arrow_schema::DataType"> [...]
+<code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</div></li><li><div class="item-name"><a class="macro" href="macro.downcast_temporal_array.html" title="macro arrow_array::downcast_temporal_array">downcast_temporal_array</a></div><div class="desc docblock-short">Downcast an <a href="array/trait.Array.html" title="trait arrow_arra [...]
 accepts a number of subsequent patterns to match the data type</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::RecordBatch">RecordBatch</a></div><div class="desc docblock-short">A two-dimensional batch of column-oriented data with a defined
-<a href="../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="struct" href="struct.RecordBatchIterator.html" title="struct arrow_array::RecordBatchIterator">RecordBatchIterator</a></div><div class="desc docblock-short">Generic implementation of <a href="record_batch/trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an iterato [...]
+<a href="arrow_schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="struct" href="struct.RecordBatchIterator.html" title="struct arrow_array::RecordBatchIterator">RecordBatchIterator</a></div><div class="desc docblock-short">Generic implementation of <a href="record_batch/trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an iterator.</div></li><li><div class="item-name"><a class="struct" href="s [...]
 <a href="scalar/trait.Datum.html" title="trait arrow_array::scalar::Datum"><code>Datum</code></a> and indicates <a href="https://docs.rs/arrow/latest/arrow/compute/index.html">compute</a> kernels should treat this array
 as a scalar value (a single value).</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.ArrowNativeTypeOp.html" title="trait arrow_array::ArrowNativeTypeOp">ArrowNativeTypeOp</a></div><div class="desc docblock-short">Trait for [<code>ArrowNativeType</code>] that adds checked and unchecked arithmetic operations,
 and totally ordered comparison operations</div></li><li><div class="item-name"><a class="trait" href="trait.ArrowNumericType.html" title="trait arrow_array::ArrowNumericType">ArrowNumericType</a></div><div class="desc docblock-short">A subtype of primitive type that represents numeric values.</div></li><li><div class="item-name"><a class="trait" href="trait.Datum.html" title="trait arrow_array::Datum">Datum</a></div><div class="desc docblock-short">A possibly <a href="scalar/struct.Scala [...]
\ No newline at end of file
diff --git a/arrow_array/macro.downcast_dictionary_array.html b/arrow_array/macro.downcast_dictionary_array.html
index c3db1255a5e..df87b84835d 100644
--- a/arrow_array/macro.downcast_dictionary_array.html
+++ b/arrow_array/macro.downcast_dictionary_array.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Downcast an `Array` to a `DictionaryArray` based on its `DataType`, accepts a number of subsequent patterns to match the data type"><title>downcast_dictionary_array in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","So [...]
     (<span class="macro-nonterminal">$values</span>:ident =&gt; <span class="macro-nonterminal">$e</span>:expr, $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     (<span class="macro-nonterminal">$values</span>:ident =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> based on its <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arr [...]
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/dictionary_array/struct.DictionaryArray.html" title="struct arrow_array::array::dictionary_array::DictionaryArray"><code>DictionaryArray</code></a> based on its <a href="arrow_schema::DataType"><code>DataType</code></a>, accepts
 a number of subsequent patterns to match the data type</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_integer.html b/arrow_array/macro.downcast_integer.html
index 26f42cfa5bf..211c4c9f69c 100644
--- a/arrow_array/macro.downcast_integer.html
+++ b/arrow_array/macro.downcast_integer.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Given one or more expressions evaluating to an integer `DataType` invokes the provided macro `m` with the corresponding integer `ArrowPrimitiveType`, followed by any additional arguments"><title>downcast_integer in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")d [...]
     ($(<span class="macro-nonterminal">$data_type</span>:expr),+ =&gt; (<span class="macro-nonterminal">$m</span>:path $(, <span class="macro-nonterminal">$args</span>:tt)<span class="kw-2">*</span>), $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to an integer <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to an integer <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
 <code>m</code> with the corresponding integer <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_primitive.html b/arrow_array/macro.downcast_primitive.html
index fc8f55a3131..07cf7f7ae23 100644
--- a/arrow_array/macro.downcast_primitive.html
+++ b/arrow_array/macro.downcast_primitive.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Given one or more expressions evaluating to primitive `DataType` invokes the provided macro `m` with the corresponding `ArrowPrimitiveType`, followed by any additional arguments"><title>downcast_primitive in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document [...]
     ($(<span class="macro-nonterminal">$data_type</span>:expr),+ =&gt; (<span class="macro-nonterminal">$m</span>:path $(, <span class="macro-nonterminal">$args</span>:tt)<span class="kw-2">*</span>), $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to primitive <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to primitive <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
 <code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_primitive_array.html b/arrow_array/macro.downcast_primitive_array.html
index e79bde7d2be..024cb1c47ea 100644
--- a/arrow_array/macro.downcast_primitive_array.html
+++ b/arrow_array/macro.downcast_primitive_array.html
@@ -3,7 +3,7 @@
     (($(<span class="macro-nonterminal">$values</span>:ident),+) =&gt; <span class="macro-nonterminal">$e</span>:expr, $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     ($(<span class="macro-nonterminal">$values</span>:ident),+ =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     (($(<span class="macro-nonterminal">$values</span>:ident),+) =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> based on its <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_sc [...]
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> based on its <a href="arrow_schema::DataType"><code>DataType</code></a>
 accepts a number of subsequent patterns to match the data type</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_run_array.html b/arrow_array/macro.downcast_run_array.html
index 56c7bb2bc04..b594d244979 100644
--- a/arrow_array/macro.downcast_run_array.html
+++ b/arrow_array/macro.downcast_run_array.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Downcast an `Array` to a `RunArray` based on its `DataType`, accepts a number of subsequent patterns to match the data type"><title>downcast_run_array in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Reg [...]
     (<span class="macro-nonterminal">$values</span>:ident =&gt; <span class="macro-nonterminal">$e</span>:expr, $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     (<span class="macro-nonterminal">$values</span>:ident =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/run_array/struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray"><code>RunArray</code></a> based on its <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><cod [...]
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a <a href="array/run_array/struct.RunArray.html" title="struct arrow_array::array::run_array::RunArray"><code>RunArray</code></a> based on its <a href="arrow_schema::DataType"><code>DataType</code></a>, accepts
 a number of subsequent patterns to match the data type</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_run_end_index.html b/arrow_array/macro.downcast_run_end_index.html
index aa51f2dac71..50f690f7dd9 100644
--- a/arrow_array/macro.downcast_run_end_index.html
+++ b/arrow_array/macro.downcast_run_end_index.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Given one or more expressions evaluating to an integer `DataType` invokes the provided macro `m` with the corresponding integer `RunEndIndexType`, followed by any additional arguments"><title>downcast_run_end_index in arrow_array - Rust</title><script>if(window.location.protocol!=="file: [...]
     ($(<span class="macro-nonterminal">$data_type</span>:expr),+ =&gt; (<span class="macro-nonterminal">$m</span>:path $(, <span class="macro-nonterminal">$args</span>:tt)<span class="kw-2">*</span>), $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to an integer <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to an integer <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
 <code>m</code> with the corresponding integer <a href="types/trait.RunEndIndexType.html" title="trait arrow_array::types::RunEndIndexType"><code>RunEndIndexType</code></a>, followed by any additional arguments</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_temporal.html b/arrow_array/macro.downcast_temporal.html
index 32db2a134cb..6220b42b3a5 100644
--- a/arrow_array/macro.downcast_temporal.html
+++ b/arrow_array/macro.downcast_temporal.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Given one or more expressions evaluating to primitive `DataType` invokes the provided macro `m` with the corresponding `ArrowPrimitiveType`, followed by any additional arguments"><title>downcast_temporal in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document. [...]
     ($(<span class="macro-nonterminal">$data_type</span>:expr),+ =&gt; (<span class="macro-nonterminal">$m</span>:path $(, <span class="macro-nonterminal">$args</span>:tt)<span class="kw-2">*</span>), $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to primitive <a href="../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a> invokes the provided macro
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Given one or more expressions evaluating to primitive <a href="arrow_schema::DataType"><code>DataType</code></a> invokes the provided macro
 <code>m</code> with the corresponding <a href="types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a>, followed by any additional arguments</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/macro.downcast_temporal_array.html b/arrow_array/macro.downcast_temporal_array.html
index 8e79ca7a3c0..7aa5050396a 100644
--- a/arrow_array/macro.downcast_temporal_array.html
+++ b/arrow_array/macro.downcast_temporal_array.html
@@ -3,7 +3,7 @@
     (($(<span class="macro-nonterminal">$values</span>:ident),+) =&gt; <span class="macro-nonterminal">$e</span>:expr, $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     ($(<span class="macro-nonterminal">$values</span>:ident),+ =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
     (($(<span class="macro-nonterminal">$values</span>:ident),+) =&gt; <span class="macro-nonterminal">$e</span>:block $(<span class="macro-nonterminal">$p</span>:pat =&gt; <span class="macro-nonterminal">$fallback</span>:expr $(,)<span class="kw-2">*</span>)<span class="kw-2">*</span>) =&gt; { ... };
-}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a temporal <a href="array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> based on its <a href="../arrow_schema/datatype/enum.DataType.html" title="enum [...]
+}</pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Downcast an <a href="array/trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a> to a temporal <a href="array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> based on its <a href="arrow_schema::DataType"><code>DataType</code></a>
 accepts a number of subsequent patterns to match the data type</p>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
diff --git a/arrow_array/record_batch/index.html b/arrow_array/record_batch/index.html
index 1cf17a3902b..e21d6fc99c9 100644
--- a/arrow_array/record_batch/index.html
+++ b/arrow_array/record_batch/index.html
@@ -1,4 +1,4 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A two-dimensional batch of column-oriented data with a defined schema."><title>arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf084 [...]
-<a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</p>
+<a href="arrow_schema::Schema">schema</a>.</p>
 </div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a></div><div class="desc docblock-short">A two-dimensional batch of column-oriented data with a defined
-<a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="struct" href="struct.RecordBatchIterator.html" title="struct arrow_array::record_batch::RecordBatchIterator">RecordBatchIterator</a></div><div class="desc docblock-short">Generic implementation of <a href="trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an ite [...]
\ No newline at end of file
+<a href="arrow_schema::Schema">schema</a>.</div></li><li><div class="item-name"><a class="struct" href="struct.RecordBatchIterator.html" title="struct arrow_array::record_batch::RecordBatchIterator">RecordBatchIterator</a></div><div class="desc docblock-short">Generic implementation of <a href="trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an iterator.</div></li><li><div class="item-name"><a class="struct" href=" [...]
\ No newline at end of file
diff --git a/arrow_array/record_batch/struct.RecordBatch.html b/arrow_array/record_batch/struct.RecordBatch.html
index 1a4df654f7e..a23b6758d34 100644
--- a/arrow_array/record_batch/struct.RecordBatch.html
+++ b/arrow_array/record_batch/struct.RecordBatch.html
@@ -1,21 +1,21 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A two-dimensional batch of column-oriented data with a defined schema."><title>RecordBatch in arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regul [...]
-    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../array/trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;&gt;,
     row_count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A two-dimensional batch of column-oriented data with a defined
-<a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</p>
+<a href="arrow_schema::Schema">schema</a>.</p>
 <p>A <code>RecordBatch</code> is a two-dimensional dataset of a number of
 contiguous arrays, each the same length.
 A record batch has a schema which must match its arrays’
 datatypes.</p>
 <p>Record batches are a convenient unit of work for various
 serialization and computation functions, possibly incremental.</p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.schema" class="structfield section-header"><a href="#structfield.schema" class="anchor field">§</a><code>schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></code></span><span id="structfield.columns" class="structfield section-header"><a href="#structfield.columns" class="a [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.schema" class="structfield section-header"><a href="#structfield.schema" class="anchor field">§</a><code>schema: SchemaRef</code></span><span id="structfield.columns" class="structfield section-header"><a href="#structfield.columns" class="anchor field">§</a><code>columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"  [...]
 <p>This is stored separately from the columns to handle the case of no columns</p>
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatch" class="impl"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#82-478">source</a><a href="#impl-RecordBatch" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RecordBatch.html" title="struct arrow_ [...]
-    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns.</p>
 <p>Expects the following:</p>
 <ul>
 <li>the vec of columns to not be empty</li>
@@ -36,25 +36,25 @@ and match</li>
     <span class="macro">vec!</span>[Arc::new(id_array)]
 ).unwrap();</code></pre></div>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_options" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#119-125">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_options" class="fn">try_new_with_options</a>(
-    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     options: &amp;<a class="struct" href="struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions">RecordBatchOptions</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns, with additional options,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns, with additional options,
 such as whether to strictly validate field names.</p>
 <p>See <a href="struct.RecordBatch.html#method.try_new" title="associated function arrow_array::record_batch::RecordBatch::try_new"><code>RecordBatch::try_new</code></a> for the expected conditions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#128-140">source</a><h4 class="code-header">pub fn <a href="#method.new_empty" class="fn">new_empty</a>(schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Crea [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#128-140">source</a><h4 class="code-header">pub fn <a href="#method.new_empty" class="fn">new_empty</a>(schema: SchemaRef) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new empty <a href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBa [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_impl" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#144-213">source</a><h4 class="code-header">fn <a href="#method.try_new_impl" class="fn">try_new_impl</a>(
-    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     options: &amp;<a class="struct" href="struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions">RecordBatchOptions</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validate the schema and columns using <a href="struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions"><code>RecordBatchOptio [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Validate the schema and columns using <a href="struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions"><code>RecordBatchOptions</code></a>. Returns an error
 if any validation check fails, otherwise returns the created <a href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>Self</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#219-232">source</a><h4 class="code-header">pub fn <a href="#method.with_schema" class="fn">with_schema</a>(self, schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>) -&gt; <a class="enum" href="https://doc.rust-lang.or [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#219-232">source</a><h4 class="code-header">pub fn <a href="#method.with_schema" class="fn">with_schema</a>(self, schema: SchemaRef) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></sec [...]
 <p>Returns an error if <code>schema</code> is not a superset of the current schema
-as determined by <a href="../../arrow_schema/schema/struct.Schema.html#method.contains" title="method arrow_schema::schema::Schema::contains"><code>Schema::contains</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#235-237">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p>Returns the <a h [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.schema_ref" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.schema_ref" class="fn">schema_ref</a>(&amp;self) -&gt; &amp;<a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.project" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#245-268">source</a><h4 class="code-header">pub fn <a href="#method.project" class="fn">project</a>(&amp;self, indices: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Res [...]
+as determined by [<code>Schema::contains</code>]</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#235-237">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef</h4></section></summary><div class="docblock"><p>Returns the [<code>Schema</code>] of the record batch.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema_ref" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.schema_ref" class="fn">schema_ref</a>(&amp;self) -&gt; &amp;SchemaRef</h4></section></summary><div class="docblock"><p>Returns a reference to the [<code>Schema</code>] of the record batch.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.project" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#245-268">source</a><h4 class="code-header">pub fn <a href="#method.project" class="fn">project</a>(&amp;self, indices: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Res [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_columns" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#288-290">source</a><h4 class="code-header">pub fn <a href="#method.num_columns" class="fn">num_columns</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of columns in [...]
 <h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -106,7 +106,7 @@ as determined by <a href="../../arrow_schema/schema/struct.Schema.html#method.co
 according to <code>offset</code> and <code>length</code></p>
 <h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
 <p>Panics if <code>offset</code> with <code>length</code> is greater than column length.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#414-428">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href= [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#414-428">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;<div cl [...]
     I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = (F, <a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;,
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Create a <code>RecordBatch</code> from an iterable list of pairs of the
 form <code>(field_name, array)</code>, with the same requirements on
@@ -126,7 +126,7 @@ specify nullibility, use <a href="struct.RecordBatch.html#method.try_from_iter_w
   (<span class="string">"a"</span>, a),
   (<span class="string">"b"</span>, b),
 ]);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter_with_nullable" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#451-469">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter_with_nullable" class="fn">try_from_iter_with_nullable</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter_with_nullable" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#451-469">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter_with_nullable" class="fn">try_from_iter_with_nullable</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result" [...]
     I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = (F, <a class="type" href="../array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)&gt;,
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Create a <code>RecordBatch</code> from an iterable list of tuples of the
 form <code>(field_name, array, nullable)</code>, with the same requirements on
diff --git a/arrow_array/record_batch/struct.RecordBatchIterator.html b/arrow_array/record_batch/struct.RecordBatchIterator.html
index 9dca3178b37..07774fa2bd1 100644
--- a/arrow_array/record_batch/struct.RecordBatchIterator.html
+++ b/arrow_array/record_batch/struct.RecordBatchIterator.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Generic implementation of RecordBatchReader that wraps an iterator."><title>RecordBatchIterator in arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans- [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../../arrow_schema/ [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div>{
     inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>,
-    inner_schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    inner_schema: SchemaRef,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generic implementation of <a href="trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an iterator.</p>
 <h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a: ArrayRef = Arc::new(Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>]));
@@ -18,11 +18,11 @@
 
 <span class="macro">assert_eq!</span>(reader.schema(), record_batch.schema());
 <span class="macro">assert_eq!</span>(reader.next().unwrap().unwrap(), record_batch);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.inner" class="structfield section-header"><a href="#structfield.inner" class="anchor field">§</a><code>inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code></span><span id="struc [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../../arrow_schema/ [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.inner" class="structfield section-header"><a href="#structfield.inner" class="anchor field">§</a><code>inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code></span><span id="struc [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h3></section>< [...]
 <p>If <code>iter</code> is an infallible iterator, use <code>.map(Ok)</code>.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-RecordBatchIterator%3CI%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#600-613">source</a><a href="#impl-Iterator-for-RecordBatchIterator%3CI%3E" class [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../../arrow_schema/ [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h3></section>< [...]
     &amp;mut self
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/n [...]
@@ -200,7 +200,7 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; K,
     K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
 function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-RecordBatchIterator%3CI%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#615-622">source</a><a href="#impl-RecordBatchReader-for-RecordBatchIterator%3CI%3E" class="anchor">§</a><h3 cl [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../../arrow_schema/ [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h3></section>< [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait. [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_ [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait. [...]
diff --git a/arrow_array/record_batch/trait.RecordBatchReader.html b/arrow_array/record_batch/trait.RecordBatchReader.html
index 87e9e00f0ad..aa910c33377 100644
--- a/arrow_array/record_batch/trait.RecordBatchReader.html
+++ b/arrow_array/record_batch/trait.RecordBatchReader.html
@@ -1,14 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ff [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ff [...]
     // Required method
-    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>;
+    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef;
 
     // Provided method
-    fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>&gt;, <a class="enum" h [...]
+    fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>&gt;, ArrowError&gt; { ... }
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can read <code>RecordBatch</code>’s.</p>
 <p>To create from an iterator, see <a href="struct.RecordBatchIterator.html" title="struct arrow_array::record_batch::RecordBatchIterator">RecordBatchIterator</a>.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#34">source</a><h4 class="code-header">fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../../arrow_schema/schema/type.Schema [...]
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.schema" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#34">source</a><h4 class="code-header">fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef</h4></section></summary><div class="docblock"><p> [...]
 <p>Implementation of this trait should guarantee that all <code>RecordBatch</code>’s returned by this
 reader should have the same schema as returned from this method.</p>
-</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#41-43">source</a><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchReader-for-Box%3CR%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#46-50">source</a><a href="#impl-RecordBatchReader-for-Box%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait. [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../../arrow_schema/ [...]
\ No newline at end of file
+</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#41-43">source</a><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchReader-for-Box%3CR%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#46-50">source</a><a href="#impl-RecordBatchReader-for-Box%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait. [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h3></section>< [...]
\ No newline at end of file
diff --git a/arrow_array/record_batch/trait.RecordBatchWriter.html b/arrow_array/record_batch/trait.RecordBatchWriter.html
index e9698f5a2c2..b6fd651c745 100644
--- a/arrow_array/record_batch/trait.RecordBatchWriter.html
+++ b/arrow_array/record_batch/trait.RecordBatchWriter.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can write `RecordBatch`’s."><title>RecordBatchWriter in arrow_array::record_batch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843f [...]
     // Required methods
-    fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.Arrow [...]
-<span class="item-spacer"></span>    fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#55">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" tit [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#58">source</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primiti [...]
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#55">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" tit [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#58">source</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primiti [...]
 </div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/arrow_array/record_batch/trait.RecordBatchWriter.js" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/struct.RecordBatch.html b/arrow_array/struct.RecordBatch.html
index 0bfa964c0cf..5a5035d15e2 100644
--- a/arrow_array/struct.RecordBatch.html
+++ b/arrow_array/struct.RecordBatch.html
@@ -1,21 +1,21 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A two-dimensional batch of column-oriented data with a defined schema."><title>RecordBatch in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf08 [...]
-    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="array/trait.Array.html" title="trait arrow_array::array::Array">Array</a>&gt;&gt;,
     row_count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A two-dimensional batch of column-oriented data with a defined
-<a href="../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</p>
+<a href="arrow_schema::Schema">schema</a>.</p>
 <p>A <code>RecordBatch</code> is a two-dimensional dataset of a number of
 contiguous arrays, each the same length.
 A record batch has a schema which must match its arrays’
 datatypes.</p>
 <p>Record batches are a convenient unit of work for various
 serialization and computation functions, possibly incremental.</p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.schema" class="structfield section-header"><a href="#structfield.schema" class="anchor field">§</a><code>schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></code></span><span id="structfield.columns" class="structfield section-header"><a href="#structfield.columns" class="anch [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.schema" class="structfield section-header"><a href="#structfield.schema" class="anchor field">§</a><code>schema: SchemaRef</code></span><span id="structfield.columns" class="structfield section-header"><a href="#structfield.columns" class="anchor field">§</a><code>columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"  [...]
 <p>This is stored separately from the columns to handle the case of no columns</p>
 </div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatch" class="impl"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#82-478">source</a><a href="#impl-RecordBatch" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="record_batch/struct.RecordBatch.html" title="str [...]
-    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns.</p>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns.</p>
 <p>Expects the following:</p>
 <ul>
 <li>the vec of columns to not be empty</li>
@@ -36,25 +36,25 @@ and match</li>
     <span class="macro">vec!</span>[Arc::new(id_array)]
 ).unwrap();</code></pre></div>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_options" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#119-125">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_options" class="fn">try_new_with_options</a>(
-    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     options: &amp;<a class="struct" href="record_batch/struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions">RecordBatchOptions</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns, with additional options,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Creates a <code>RecordBatch</code> from a schema and columns, with additional options,
 such as whether to strictly validate field names.</p>
 <p>See <a href="record_batch/struct.RecordBatch.html#method.try_new" title="associated function arrow_array::record_batch::RecordBatch::try_new"><code>RecordBatch::try_new</code></a> for the expected conditions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#128-140">source</a><h4 class="code-header">pub fn <a href="#method.new_empty" class="fn">new_empty</a>(schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#128-140">source</a><h4 class="code-header">pub fn <a href="#method.new_empty" class="fn">new_empty</a>(schema: SchemaRef) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new empty <a href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><cod [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_impl" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#144-213">source</a><h4 class="code-header">fn <a href="#method.try_new_impl" class="fn">try_new_impl</a>(
-    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    schema: SchemaRef,
     columns: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;,
     options: &amp;<a class="struct" href="record_batch/struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions">RecordBatchOptions</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validate the schema and columns using <a href="record_batch/struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions"><code>Record [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Validate the schema and columns using <a href="record_batch/struct.RecordBatchOptions.html" title="struct arrow_array::record_batch::RecordBatchOptions"><code>RecordBatchOptions</code></a>. Returns an error
 if any validation check fails, otherwise returns the created <a href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>Self</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#219-232">source</a><h4 class="code-header">pub fn <a href="#method.with_schema" class="fn">with_schema</a>(self, schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nigh [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#219-232">source</a><h4 class="code-header">pub fn <a href="#method.with_schema" class="fn">with_schema</a>(self, schema: SchemaRef) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></sectio [...]
 <p>Returns an error if <code>schema</code> is not a superset of the current schema
-as determined by <a href="../arrow_schema/schema/struct.Schema.html#method.contains" title="method arrow_schema::schema::Schema::contains"><code>Schema::contains</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#235-237">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p>Returns the <a href=". [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.schema_ref" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.schema_ref" class="fn">schema_ref</a>(&amp;self) -&gt; &amp;<a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p>Retur [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.project" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#245-268">source</a><h4 class="code-header">pub fn <a href="#method.project" class="fn">project</a>(&amp;self, indices: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result [...]
+as determined by [<code>Schema::contains</code>]</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#235-237">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef</h4></section></summary><div class="docblock"><p>Returns the [<code>Schema</code>] of the record batch.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema_ref" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.schema_ref" class="fn">schema_ref</a>(&amp;self) -&gt; &amp;SchemaRef</h4></section></summary><div class="docblock"><p>Returns a reference to the [<code>Schema</code>] of the record batch.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.project" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#245-268">source</a><h4 class="code-header">pub fn <a href="#method.project" class="fn">project</a>(&amp;self, indices: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.num_columns" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#288-290">source</a><h4 class="code-header">pub fn <a href="#method.num_columns" class="fn">num_columns</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of columns in th [...]
 <h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -106,7 +106,7 @@ as determined by <a href="../arrow_schema/schema/struct.Schema.html#method.conta
 according to <code>offset</code> and <code>length</code></p>
 <h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
 <p>Panics if <code>offset</code> with <code>length</code> is greater than column length.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#414-428">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href=".. [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#414-428">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;<div class [...]
     I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = (F, <a class="type" href="array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;,
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Create a <code>RecordBatch</code> from an iterable list of pairs of the
 form <code>(field_name, array)</code>, with the same requirements on
@@ -126,7 +126,7 @@ specify nullibility, use <a href="record_batch/struct.RecordBatch.html#method.tr
   (<span class="string">"a"</span>, a),
   (<span class="string">"b"</span>, b),
 ]);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter_with_nullable" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#451-469">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter_with_nullable" class="fn">try_from_iter_with_nullable</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Re [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter_with_nullable" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#451-469">source</a><h4 class="code-header">pub fn <a href="#method.try_from_iter_with_nullable" class="fn">try_from_iter_with_nullable</a>&lt;I, F&gt;(value: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Re [...]
     I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = (F, <a class="type" href="array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)&gt;,
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Create a <code>RecordBatch</code> from an iterable list of tuples of the
 form <code>(field_name, array, nullable)</code>, with the same requirements on
diff --git a/arrow_array/struct.RecordBatchIterator.html b/arrow_array/struct.RecordBatchIterator.html
index fdf8d36a068..48f10316b65 100644
--- a/arrow_array/struct.RecordBatchIterator.html
+++ b/arrow_array/struct.RecordBatchIterator.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Generic implementation of RecordBatchReader that wraps an iterator."><title>RecordBatchIterator in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../arr [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div>{
     inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>,
-    inner_schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+    inner_schema: SchemaRef,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generic implementation of <a href="record_batch/trait.RecordBatchReader.html" title="trait arrow_array::record_batch::RecordBatchReader">RecordBatchReader</a> that wraps an iterator.</p>
 <h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a: ArrayRef = Arc::new(Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>]));
@@ -18,11 +18,11 @@
 
 <span class="macro">assert_eq!</span>(reader.schema(), record_batch.schema());
 <span class="macro">assert_eq!</span>(reader.next().unwrap().unwrap(), record_batch);</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.inner" class="structfield section-header"><a href="#structfield.inner" class="anchor field">§</a><code>inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code></span><span id="struc [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../arr [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.inner" class="structfield section-header"><a href="#structfield.inner" class="anchor field">§</a><code>inner: I::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code></span><span id="struc [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h [...]
 <p>If <code>iter</code> is an infallible iterator, use <code>.map(Ok)</code>.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-RecordBatchIterator%3CI%3E" class="impl"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#600-613">source</a><a href="#impl-Iterator-for-RecordBatchIterator%3CI%3E" class="a [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../arr [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h [...]
     &amp;mut self
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/n [...]
@@ -200,7 +200,7 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; K,
     K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
 function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-RecordBatchIterator%3CI%3E" class="impl"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#615-622">source</a><a href="#impl-RecordBatchReader-for-RecordBatchIterator%3CI%3E" class="anchor">§</a><h3 class [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../arr [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait. [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_ [...]
     &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait. [...]
diff --git a/arrow_array/timezone/private/struct.Tz.html b/arrow_array/timezone/private/struct.Tz.html
index fcebea8b649..f40868c3d6c 100644
--- a/arrow_array/timezone/private/struct.Tz.html
+++ b/arrow_array/timezone/private/struct.Tz.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An Arrow `TimeZone`"><title>Tz in arrow_array::timezone::private - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d [...]
-</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="enum" href="enum.TzInner.html" title="enum arrow_array::timezone::private::TzInner">TzInner</a></code></span><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><di [...]
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="enum" href="enum.TzInner.html" title="enum arrow_array::timezone::private::TzInner">TzInner</a></code></span><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><di [...]
 This type is used to store the actual offset in date and time types.
 The original <code>TimeZone</code> value can be recovered via <code>TimeZone::from_offset</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_offset" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/timezone.rs.html#112-114">source</a><a href="#method.from_offset" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html#tymethod.from_offset" clas [...]
     &amp;self,
diff --git a/arrow_array/timezone/struct.Tz.html b/arrow_array/timezone/struct.Tz.html
index 396228ecc5d..1bd51c69017 100644
--- a/arrow_array/timezone/struct.Tz.html
+++ b/arrow_array/timezone/struct.Tz.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An Arrow `TimeZone`"><title>Tz in arrow_array::timezone - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2 [...]
-</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="enum" href="private/enum.TzInner.html" title="enum arrow_array::timezone::private::TzInner">TzInner</a></code></span><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a> [...]
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="enum" href="private/enum.TzInner.html" title="enum arrow_array::timezone::private::TzInner">TzInner</a></code></span><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a> [...]
 This type is used to store the actual offset in date and time types.
 The original <code>TimeZone</code> value can be recovered via <code>TimeZone::from_offset</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_offset" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/timezone.rs.html#112-114">source</a><a href="#method.from_offset" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html#tymethod.from_offset" class=" [...]
     &amp;self,
diff --git a/arrow_array/trait.ArrowNativeTypeOp.html b/arrow_array/trait.ArrowNativeTypeOp.html
index 4b9b669048f..0f1df755388 100644
--- a/arrow_array/trait.ArrowNativeTypeOp.html
+++ b/arrow_array/trait.ArrowNativeTypeOp.html
@@ -5,19 +5,19 @@
     const <a href="#associatedconstant.MAX_TOTAL_ORDER" class="constant">MAX_TOTAL_ORDER</a>: Self;
 <details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 22 methods</span></summary>
     // Required methods
-    fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.add_wrapping" class="fn">add_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.sub_wrapping" class="fn">sub_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.mul_wrapping" class="fn">mul_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.div_wrapping" class="fn">div_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.mod_wrapping" class="fn">mod_wrapping</a>(self, rhs: Self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.neg_wrapping" class="fn">neg_wrapping</a>(self) -&gt; Self;
-<span class="item-spacer"></span>    fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;;
 <span class="item-spacer"></span>    fn <a href="#tymethod.pow_wrapping" class="fn">pow_wrapping</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; Self;
 <span class="item-spacer"></span>    fn <a href="#tymethod.is_zero" class="fn">is_zero</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
 <span class="item-spacer"></span>    fn <a href="#tymethod.compare" class="fn">compare</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>;
@@ -49,19 +49,19 @@ which means that this value is a negative NaN.</p>
 </div></details><details class="toggle" open><summary><section id="associatedconstant.MAX_TOTAL_ORDER" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#56">source</a><h4 class="code-header">const <a href="#associatedconstant.MAX_TOTAL_ORDER" class="constant">MAX_TOTAL_ORDER</a>: Self</h4></section></summary><div class="docblock"><p>The maximum value and identity for the <code>min</code> aggregation.
 Note that the aggregation uses the total order predicate for floating point values,
 which means that this value is a positive NaN.</p>
-</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#59">source</a><h4 class="code-header">fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rus [...]
+</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#59">source</a><h4 class="code-header">fn <a href="#tymethod.add_checked" class="fn">add_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rus [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.add_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#62">source</a><h4 class="code-header">fn <a href="#tymethod.add_wrapping" class="fn">add_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping addition operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#65">source</a><h4 class="code-header">fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/erro [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#65">source</a><h4 class="code-header">fn <a href="#tymethod.sub_checked" class="fn">sub_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><di [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sub_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#68">source</a><h4 class="code-header">fn <a href="#tymethod.sub_wrapping" class="fn">sub_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping subtraction operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#71">source</a><h4 class="code-header">fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/erro [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#71">source</a><h4 class="code-header">fn <a href="#tymethod.mul_checked" class="fn">mul_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><di [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mul_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#74">source</a><h4 class="code-header">fn <a href="#tymethod.mul_wrapping" class="fn">mul_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping multiplication operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#77">source</a><h4 class="code-header">fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/erro [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#77">source</a><h4 class="code-header">fn <a href="#tymethod.div_checked" class="fn">div_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><di [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.div_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#80">source</a><h4 class="code-header">fn <a href="#tymethod.div_wrapping" class="fn">div_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping division operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#83">source</a><h4 class="code-header">fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/erro [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#83">source</a><h4 class="code-header">fn <a href="#tymethod.mod_checked" class="fn">mod_checked</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><di [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mod_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#86">source</a><h4 class="code-header">fn <a href="#tymethod.mod_wrapping" class="fn">mod_wrapping</a>(self, rhs: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping remainder operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../arrow_schema/error/enum.Arro [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.neg_checked" class="fn">neg_checked</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="do [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.neg_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#92">source</a><h4 class="code-header">fn <a href="#tymethod.neg_wrapping" class="fn">neg_wrapping</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping negation operation</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="e [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_checked" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.pow_checked" class="fn">pow_checked</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="e [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.pow_wrapping" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#98">source</a><h4 class="code-header">fn <a href="#tymethod.pow_wrapping" class="fn">pow_wrapping</a>(self, exp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Wrapping exponentiation operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_zero" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#101">source</a><h4 class="code-header">fn <a href="#tymethod.is_zero" class="fn">is_zero</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if zero else false</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.compare" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#104">source</a><h4 class="code-header">fn <a href="#tymethod.compare" class="fn">compare</a>(self, rhs: Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class="docblock"><p>Compare opera [...]
@@ -71,4 +71,4 @@ which means that this value is a positive NaN.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_le" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#123-125">source</a><h4 class="code-header">fn <a href="#method.is_le" class="fn">is_le</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Less than equals operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_gt" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#129-131">source</a><h4 class="code-header">fn <a href="#method.is_gt" class="fn">is_gt</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Greater than operation</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_ge" class="method"><a class="src rightside" href="../src/arrow_array/arithmetic.rs.html#135-137">source</a><h4 class="code-header">fn <a href="#method.is_ge" class="fn">is_ge</a>(self, rhs: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Greater than equals operation</p>
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="im [...]
\ No newline at end of file
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="im [...]
\ No newline at end of file
diff --git a/arrow_array/trait.RecordBatchReader.html b/arrow_array/trait.RecordBatchReader.html
index 5cc4f4dc1ba..ea6f36ff02f 100644
--- a/arrow_array/trait.RecordBatchReader.html
+++ b/arrow_array/trait.RecordBatchReader.html
@@ -1,14 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
     // Required method
-    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>;
+    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef;
 
     // Provided method
-    fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>&gt;, <a c [...]
+    fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>&gt;, Arro [...]
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can read <code>RecordBatch</code>’s.</p>
 <p>To create from an iterator, see <a href="record_batch/struct.RecordBatchIterator.html" title="struct arrow_array::record_batch::RecordBatchIterator">RecordBatchIterator</a>.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#34">source</a><h4 class="code-header">fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; <a class="type" href="../arrow_schema/schema/type.SchemaRef.ht [...]
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.schema" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#34">source</a><h4 class="code-header">fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef</h4></section></summary><div class="docblock"><p>Ret [...]
 <p>Implementation of this trait should guarantee that all <code>RecordBatch</code>’s returned by this
 reader should have the same schema as returned from this method.</p>
-</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#41-43">source</a><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-la [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchReader-for-Box%3CR%3E" class="impl"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#46-50">source</a><a href="#impl-RecordBatchReader-for-Box%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="record_ba [...]
-    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../arr [...]
\ No newline at end of file
+</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#41-43">source</a><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-la [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchReader-for-Box%3CR%3E" class="impl"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#46-50">source</a><a href="#impl-RecordBatchReader-for-Box%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="record_ba [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>, ArrowError&gt;&gt;,</div></h [...]
\ No newline at end of file
diff --git a/arrow_array/trait.RecordBatchWriter.html b/arrow_array/trait.RecordBatchWriter.html
index 06f27d4b7ea..03a217d4906 100644
--- a/arrow_array/trait.RecordBatchWriter.html
+++ b/arrow_array/trait.RecordBatchWriter.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for types that can write `RecordBatch`’s."><title>RecordBatchWriter in arrow_array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraS [...]
     // Required methods
-    fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../arrow_schema/error/ [...]
-<span class="item-spacer"></span>    fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#55">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="record_batch/struct.RecordBatch [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#58">source</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive. [...]
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.write" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#55">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="record_batch/struct.RecordBatch [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#58">source</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive. [...]
 </div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/arrow_array/record_batch/trait.RecordBatchWriter.js" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_array/types/fn.validate_decimal_precision_and_scale.html b/arrow_array/types/fn.validate_decimal_precision_and_scale.html
index 6ba397e597d..2d25401fcfe 100644
--- a/arrow_array/types/fn.validate_decimal_precision_and_scale.html
+++ b/arrow_array/types/fn.validate_decimal_precision_and_scale.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Validate that `precision` and `scale` are valid for `T`"><title>validate_decimal_precision_and_scale in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Re [...]
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
     scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div clas [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Validate that <code>precision</code> and <code>scale</code> are valid for <code>T</code></p>
 <p>Returns an Error if:</p>
 <ul>
 <li><code>precision</code> is zero</li>
diff --git a/arrow_array/types/index.html b/arrow_array/types/index.html
index fd4ba000703..c7ff8bd757a 100644
--- a/arrow_array/types/index.html
+++ b/arrow_array/types/index.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Zero-sized types used to parameterize generic array implementations"><title>arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2 [...]
 </div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="byte_view/index.html" title="mod arrow_array::types::byte_view">byte_view</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="bytes/index.html" title="mod arrow_array::types::bytes">bytes</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div  [...]
-See <a href="https://arrow.apache.org/docs/format/Columnar.html">https://arrow.apache.org/docs/format/Columnar.html</a></div></li><li><div class="item-name"><a class="trait" href="trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a></div><div class="desc docblock-short">Trait bridging the dynamic-typed nature of Arrow (via <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>Data [...]
+See <a href="https://arrow.apache.org/docs/format/Columnar.html">https://arrow.apache.org/docs/format/Columnar.html</a></div></li><li><div class="item-name"><a class="trait" href="trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a></div><div class="desc docblock-short">Trait bridging the dynamic-typed nature of Arrow (via [<code>DataType</code>]) with the
 static-typed nature of rust types (<a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>) for all types that implement <a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>.</div></li><li><div class="item-name"><a class="trait" href="trait.ArrowTemporalType.html" title="trait arrow_array::types::ArrowTemporalType">ArrowTemporalType</a></div><div class="desc docblock-short">A subtype of primitive type that represents temporal values.</div></li><li><di [...]
 implementation across the various decimal types</div></li><li><div class="item-name"><a class="trait" href="trait.RunEndIndexType.html" title="trait arrow_array::types::RunEndIndexType">RunEndIndexType</a></div><div class="desc docblock-short">A subtype of primitive type that is used as run-ends index
 in <code>RunArray</code>.
diff --git a/arrow_array/types/struct.BinaryViewType.html b/arrow_array/types/struct.BinaryViewType.html
index 1a7e07c1fda..e64bf4a5bf4 100644
--- a/arrow_array/types/struct.BinaryViewType.html
+++ b/arrow_array/types/struct.BinaryViewType.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`BinaryViewType` for string arrays"><title>BinaryViewType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Mediu [...]
 </div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ByteViewType-for-BinaryViewType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1566-1575">source</a><a href="#impl-ByteViewType-for-BinaryViewType" class="anchor">§</a><h3 class="code-header">impl [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteViewType.html#associatedtype.Owned" class="associatedtype">Owned</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct. [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteViewType.html#associatedtype.Owned" class="associatedtype">Owned</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct. [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Sealed-for-BinaryViewType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1516">source</a><a href="#impl-Sealed-for-BinaryViewType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="byte_view/trait.Sealed.html" title="trait arrow_array::types::byte_view::Sealed">Sealed</a> for <a class="struct" href="struct.BinaryViewTy [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/types/struct.BooleanType.html b/arrow_array/types/struct.BooleanType.html
index cda44b91e63..f2ad98e9e1f 100644
--- a/arrow_array/types/struct.BooleanType.html
+++ b/arrow_array/types/struct.BooleanType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A boolean datatype"><title>BooleanType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388. [...]
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BooleanType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#45-48">source</a><a href="#impl-BooleanType" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BooleanType.html" title="struct arro [...]
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BooleanType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#45-48">source</a><a href="#impl-BooleanType" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BooleanType.html" title="struct arro [...]
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BooleanType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#42">source</a><a href="#impl-Debug-for-BooleanType" class="anchor">§</a><h3 class="code-header">impl <a c [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/arrow_array/types/struct.Date32Type.html b/arrow_array/types/struct.Date32Type.html
index 3b9879791b2..a5a6725ef22 100644
--- a/arrow_array/types/struct.Date32Type.html
+++ b/arrow_array/types/struct.Date32Type.html
@@ -65,7 +65,7 @@
 <li><code>date</code> - The date on which to perform the operation</li>
 <li><code>delta</code> - The interval to subtract</li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Date32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#179-184">source</a><a href="#impl-ArrowPrimitiveType-for-Date32Type" class="anchor">§</a><h3  [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Date32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#179-184">source</a><a href="#impl-ArrowPrimitiveType-for-Date32Type" class="anchor">§</a><h3  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Date64Type.html b/arrow_array/types/struct.Date64Type.html
index 6cf84248240..1d79b981b8f 100644
--- a/arrow_array/types/struct.Date64Type.html
+++ b/arrow_array/types/struct.Date64Type.html
@@ -65,7 +65,7 @@
 <li><code>date</code> - The date on which to perform the operation</li>
 <li><code>delta</code> - The interval to subtract</li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Date64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#185-190">source</a><a href="#impl-ArrowPrimitiveType-for-Date64Type" class="anchor">§</a><h3  [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Date64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#185-190">source</a><a href="#impl-ArrowPrimitiveType-for-Date64Type" class="anchor">§</a><h3  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Decimal128Type.html b/arrow_array/types/struct.Decimal128Type.html
index 6f844ebd053..01049a84d93 100644
--- a/arrow_array/types/struct.Decimal128Type.html
+++ b/arrow_array/types/struct.Decimal128Type.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The decimal type for a Decimal128Array"><title>Decimal128Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-M [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Decimal128Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1317-1321">source</a><a href="#impl-ArrowPrimitiveType-for-Decimal128Type" class="anchor">§</a><h3 class="code- [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Decimal128Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1317-1321">source</a><a href="#impl-ArrowPrimitiveType-for-Decimal128Type" class="anchor">§</a><h3 class="code- [...]
     num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Validates that <code>value</code> contains no more than <code>precision</code [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class='docblock'>Validates that <code>value</code> contains no more than <code>precision</code> decimal digits</div></details></div></details><section id="impl-DecimalTypeSealed-for-Decimal128Type" class="impl">< [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Decimal256Type.html b/arrow_array/types/struct.Decimal256Type.html
index 0968f615159..853e7df8872 100644
--- a/arrow_array/types/struct.Decimal256Type.html
+++ b/arrow_array/types/struct.Decimal256Type.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The decimal type for a Decimal256Array"><title>Decimal256Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-M [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Decimal256Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1347-1351">source</a><a href="#impl-ArrowPrimitiveType-for-Decimal256Type" class="anchor">§</a><h3 class="code- [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Decimal256Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1347-1351">source</a><a href="#impl-ArrowPrimitiveType-for-Decimal256Type" class="anchor">§</a><h3 class="code- [...]
     num: i256,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Validates that <code>value</code> contains no more than <code>precision</code [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class='docblock'>Validates that <code>value</code> contains no more than <code>precision</code> decimal digits</div></details></div></details><section id="impl-DecimalTypeSealed-for-Decimal256Type" class="impl">< [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.DurationMicrosecondType.html b/arrow_array/types/struct.DurationMicrosecondType.html
index 01502927711..2cf7372f8b2 100644
--- a/arrow_array/types/struct.DurationMicrosecondType.html
+++ b/arrow_array/types/struct.DurationMicrosecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An elapsed time type in microseconds."><title>DurationMicrosecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fi [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationMicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#310-315">source</a><a href="#impl-ArrowPrimitiveType-for-DurationMicrosecondType" class="anchor">§</a> [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationMicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#310-315">source</a><a href="#impl-ArrowPrimitiveType-for-DurationMicrosecondType" class="anchor">§</a> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.DurationMillisecondType.html b/arrow_array/types/struct.DurationMillisecondType.html
index e3cf533aaf5..d903765796c 100644
--- a/arrow_array/types/struct.DurationMillisecondType.html
+++ b/arrow_array/types/struct.DurationMillisecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An elapsed time type in milliseconds."><title>DurationMillisecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fi [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationMillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#304-309">source</a><a href="#impl-ArrowPrimitiveType-for-DurationMillisecondType" class="anchor">§</a> [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationMillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#304-309">source</a><a href="#impl-ArrowPrimitiveType-for-DurationMillisecondType" class="anchor">§</a> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.DurationNanosecondType.html b/arrow_array/types/struct.DurationNanosecondType.html
index 68a758fecea..03f679e4e73 100644
--- a/arrow_array/types/struct.DurationNanosecondType.html
+++ b/arrow_array/types/struct.DurationNanosecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An elapsed time type in nanoseconds."><title>DurationNanosecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationNanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#316-321">source</a><a href="#impl-ArrowPrimitiveType-for-DurationNanosecondType" class="anchor">§</a><h [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationNanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#316-321">source</a><a href="#impl-ArrowPrimitiveType-for-DurationNanosecondType" class="anchor">§</a><h [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.DurationSecondType.html b/arrow_array/types/struct.DurationSecondType.html
index b28aa4e0aef..87510f4cc25 100644
--- a/arrow_array/types/struct.DurationSecondType.html
+++ b/arrow_array/types/struct.DurationSecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An elapsed time type in seconds."><title>DurationSecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Med [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationSecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#298-303">source</a><a href="#impl-ArrowPrimitiveType-for-DurationSecondType" class="anchor">§</a><h3 class= [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-DurationSecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#298-303">source</a><a href="#impl-ArrowPrimitiveType-for-DurationSecondType" class="anchor">§</a><h3 class= [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Float16Type.html b/arrow_array/types/struct.Float16Type.html
index 8e3788edbad..002f04cd2a9 100644
--- a/arrow_array/types/struct.Float16Type.html
+++ b/arrow_array/types/struct.Float16Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 16-bit floating point number type."><title>Float16Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#137-142">source</a><a href="#impl-ArrowPrimitiveType-for-Float16Type" class="anchor">§</a><h3 class="code-header"> [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#137-142">source</a><a href="#impl-ArrowPrimitiveType-for-Float16Type" class="anchor">§</a><h3 class="code-header"> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Float32Type.html b/arrow_array/types/struct.Float32Type.html
index ab4740ace13..b35caf163a4 100644
--- a/arrow_array/types/struct.Float32Type.html
+++ b/arrow_array/types/struct.Float32Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 32-bit floating point number type."><title>Float32Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#143-148">source</a><a href="#impl-ArrowPrimitiveType-for-Float32Type" class="anchor">§</a><h3 class="code-header"> [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#143-148">source</a><a href="#impl-ArrowPrimitiveType-for-Float32Type" class="anchor">§</a><h3 class="code-header"> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Float64Type.html b/arrow_array/types/struct.Float64Type.html
index 446096ea5ab..b12bad72d0b 100644
--- a/arrow_array/types/struct.Float64Type.html
+++ b/arrow_array/types/struct.Float64Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 64-bit floating point number type."><title>Float64Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#149-154">source</a><a href="#impl-ArrowPrimitiveType-for-Float64Type" class="anchor">§</a><h3 class="code-header"> [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Float64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#149-154">source</a><a href="#impl-ArrowPrimitiveType-for-Float64Type" class="anchor">§</a><h3 class="code-header"> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.GenericBinaryType.html b/arrow_array/types/struct.GenericBinaryType.html
index fc71d5cc92d..f0455a345a2 100644
--- a/arrow_array/types/struct.GenericBinaryType.html
+++ b/arrow_array/types/struct.GenericBinaryType.html
@@ -3,10 +3,10 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType"><code>ByteArrayType</code></a> for binary arrays</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="section-header">Trait Implement [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1485">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1485">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid  [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericBinaryTyp [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-GenericBinaryType%3CO%3E" class="impl"><a href="#impl-Send-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker: [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericBinaryType%3CO%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::Unwin [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src ri [...]
diff --git a/arrow_array/types/struct.GenericStringType.html b/arrow_array/types/struct.GenericStringType.html
index 6cbd54b0ce0..97d3ff684a5 100644
--- a/arrow_array/types/struct.GenericStringType.html
+++ b/arrow_array/types/struct.GenericStringType.html
@@ -3,10 +3,10 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType"><code>ByteArrayType</code></a> for string arrays</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="section-header">Trait Implement [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1439">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1439">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid  [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericStringTyp [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-GenericStringType%3CO%3E" class="impl"><a href="#impl-Send-for-GenericStringType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker: [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericStringType%3CO%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericStringType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::Unwin [...]
     O: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src ri [...]
diff --git a/arrow_array/types/struct.Int16Type.html b/arrow_array/types/struct.Int16Type.html
index 34d6851d991..44256f748fa 100644
--- a/arrow_array/types/struct.Int16Type.html
+++ b/arrow_array/types/struct.Int16Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A signed 16-bit integer type."><title>Int16Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#95-100">source</a><a href="#impl-ArrowPrimitiveType-for-Int16Type" class="anchor">§</a><h3 class="code-header">impl  [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#95-100">source</a><a href="#impl-ArrowPrimitiveType-for-Int16Type" class="anchor">§</a><h3 class="code-header">impl  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Int32Type.html b/arrow_array/types/struct.Int32Type.html
index 97a8adaf4d6..61e19c907e4 100644
--- a/arrow_array/types/struct.Int32Type.html
+++ b/arrow_array/types/struct.Int32Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A signed 32-bit integer type."><title>Int32Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#101-106">source</a><a href="#impl-ArrowPrimitiveType-for-Int32Type" class="anchor">§</a><h3 class="code-header">impl [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#101-106">source</a><a href="#impl-ArrowPrimitiveType-for-Int32Type" class="anchor">§</a><h3 class="code-header">impl [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Int64Type.html b/arrow_array/types/struct.Int64Type.html
index 3b35b44ac36..01b1656a70a 100644
--- a/arrow_array/types/struct.Int64Type.html
+++ b/arrow_array/types/struct.Int64Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A signed 64-bit integer type."><title>Int64Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#107-112">source</a><a href="#impl-ArrowPrimitiveType-for-Int64Type" class="anchor">§</a><h3 class="code-header">impl [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#107-112">source</a><a href="#impl-ArrowPrimitiveType-for-Int64Type" class="anchor">§</a><h3 class="code-header">impl [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Int8Type.html b/arrow_array/types/struct.Int8Type.html
index e1a99594f2d..14d1b1be220 100644
--- a/arrow_array/types/struct.Int8Type.html
+++ b/arrow_array/types/struct.Int8Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A signed 8-bit integer type."><title>Int8Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e49 [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int8Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#94">source</a><a href="#impl-ArrowPrimitiveType-for-Int8Type" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Int8Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#94">source</a><a href="#impl-ArrowPrimitiveType-for-Int8Type" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.IntervalDayTimeType.html b/arrow_array/types/struct.IntervalDayTimeType.html
index 791c147551e..9e481da08b6 100644
--- a/arrow_array/types/struct.IntervalDayTimeType.html
+++ b/arrow_array/types/struct.IntervalDayTimeType.html
@@ -27,7 +27,7 @@ which can lead to surprising results. Please see the description of ordering on
 <ul>
 <li><code>i</code> - The IntervalDayTimeType to convert</li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalDayTimeType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#221-247">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalDayTimeType" class= [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalDayTimeType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#221-247">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalDayTimeType" class= [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.IntervalMonthDayNanoType.html b/arrow_array/types/struct.IntervalMonthDayNanoType.html
index cacde089094..5411f1c6bfc 100644
--- a/arrow_array/types/struct.IntervalMonthDayNanoType.html
+++ b/arrow_array/types/struct.IntervalMonthDayNanoType.html
@@ -50,7 +50,7 @@ is larger than the binary representation of 100 days.</p>
 <ul>
 <li><code>i</code> - The IntervalMonthDayNanoType to convert</li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalMonthDayNanoType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#248-297">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalMonthDayNanoTy [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalMonthDayNanoType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#248-297">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalMonthDayNanoTy [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.IntervalYearMonthType.html b/arrow_array/types/struct.IntervalYearMonthType.html
index 97faa2be397..ccf2d572085 100644
--- a/arrow_array/types/struct.IntervalYearMonthType.html
+++ b/arrow_array/types/struct.IntervalYearMonthType.html
@@ -16,7 +16,7 @@
 <ul>
 <li><code>i</code> - The IntervalYearMonthType::Native to convert</li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalYearMonthType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#215-220">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalYearMonthType" cl [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-IntervalYearMonthType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#215-220">source</a><a href="#impl-ArrowPrimitiveType-for-IntervalYearMonthType" cl [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.StringViewType.html b/arrow_array/types/struct.StringViewType.html
index 70f522cd34c..24c0080adbb 100644
--- a/arrow_array/types/struct.StringViewType.html
+++ b/arrow_array/types/struct.StringViewType.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`ByteViewType` for string arrays"><title>StringViewType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium- [...]
 </div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ByteViewType-for-StringViewType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1550-1560">source</a><a href="#impl-ByteViewType-for-StringViewType" class="anchor">§</a><h3 class="code-header">impl [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteViewType.html#associatedtype.Owned" class="associatedtype">Owned</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/stru [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteViewType.html#associatedtype.Owned" class="associatedtype">Owned</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/stru [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Sealed-for-StringViewType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1515">source</a><a href="#impl-Sealed-for-StringViewType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="byte_view/trait.Sealed.html" title="trait arrow_array::types::byte_view::Sealed">Sealed</a> for <a class="struct" href="struct.StringViewTy [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_array/types/struct.Time32MillisecondType.html b/arrow_array/types/struct.Time32MillisecondType.html
index 8ea34575ca1..c5527e6e333 100644
--- a/arrow_array/types/struct.Time32MillisecondType.html
+++ b/arrow_array/types/struct.Time32MillisecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 32-bit time type representing the elapsed time since midnight in milliseconds."><title>Time32MillisecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,F [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time32MillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#197-202">source</a><a href="#impl-ArrowPrimitiveType-for-Time32MillisecondType" class="anchor">§</a><h3  [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time32MillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#197-202">source</a><a href="#impl-ArrowPrimitiveType-for-Time32MillisecondType" class="anchor">§</a><h3  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Time32SecondType.html b/arrow_array/types/struct.Time32SecondType.html
index 554a8902064..65f1fa97d47 100644
--- a/arrow_array/types/struct.Time32SecondType.html
+++ b/arrow_array/types/struct.Time32SecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 32-bit time type representing the elapsed time since midnight in seconds."><title>Time32SecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Re [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time32SecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#191-196">source</a><a href="#impl-ArrowPrimitiveType-for-Time32SecondType" class="anchor">§</a><h3 class="cod [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time32SecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#191-196">source</a><a href="#impl-ArrowPrimitiveType-for-Time32SecondType" class="anchor">§</a><h3 class="cod [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Time64MicrosecondType.html b/arrow_array/types/struct.Time64MicrosecondType.html
index c196fd6c05c..9ef18466f6e 100644
--- a/arrow_array/types/struct.Time64MicrosecondType.html
+++ b/arrow_array/types/struct.Time64MicrosecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 64-bit time type representing the elapsed time since midnight in microseconds."><title>Time64MicrosecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,F [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time64MicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#203-208">source</a><a href="#impl-ArrowPrimitiveType-for-Time64MicrosecondType" class="anchor">§</a><h3  [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time64MicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#203-208">source</a><a href="#impl-ArrowPrimitiveType-for-Time64MicrosecondType" class="anchor">§</a><h3  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.Time64NanosecondType.html b/arrow_array/types/struct.Time64NanosecondType.html
index 723663c95a6..d070ec9590d 100644
--- a/arrow_array/types/struct.Time64NanosecondType.html
+++ b/arrow_array/types/struct.Time64NanosecondType.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 64-bit time type representing the elapsed time since midnight in nanoseconds."><title>Time64NanosecondType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fir [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time64NanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#209-214">source</a><a href="#impl-ArrowPrimitiveType-for-Time64NanosecondType" class="anchor">§</a><h3 cl [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-Time64NanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#209-214">source</a><a href="#impl-ArrowPrimitiveType-for-Time64NanosecondType" class="anchor">§</a><h3 cl [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.TimestampMicrosecondType.html b/arrow_array/types/struct.TimestampMicrosecondType.html
index 0b802da7d30..6769ac3917a 100644
--- a/arrow_array/types/struct.TimestampMicrosecondType.html
+++ b/arrow_array/types/struct.TimestampMicrosecondType.html
@@ -65,7 +65,7 @@
 <li><code>delta</code> - The interval to add</li>
 <li><code>tz</code> - The timezone in which to interpret <code>timestamp</code></li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampMicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#167-172">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampMicrosecondTy [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampMicrosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#167-172">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampMicrosecondTy [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.TimestampMillisecondType.html b/arrow_array/types/struct.TimestampMillisecondType.html
index fc37487ba3f..d47c619dc0f 100644
--- a/arrow_array/types/struct.TimestampMillisecondType.html
+++ b/arrow_array/types/struct.TimestampMillisecondType.html
@@ -65,7 +65,7 @@
 <li><code>delta</code> - The interval to add</li>
 <li><code>tz</code> - The timezone in which to interpret <code>timestamp</code></li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampMillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#161-166">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampMillisecondTy [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampMillisecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#161-166">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampMillisecondTy [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.TimestampNanosecondType.html b/arrow_array/types/struct.TimestampNanosecondType.html
index a6a7b01d844..e937daf0193 100644
--- a/arrow_array/types/struct.TimestampNanosecondType.html
+++ b/arrow_array/types/struct.TimestampNanosecondType.html
@@ -65,7 +65,7 @@
 <li><code>delta</code> - The interval to add</li>
 <li><code>tz</code> - The timezone in which to interpret <code>timestamp</code></li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampNanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#173-178">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampNanosecondType [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampNanosecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#173-178">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampNanosecondType [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.TimestampSecondType.html b/arrow_array/types/struct.TimestampSecondType.html
index 6bf6b4254ec..0310885c484 100644
--- a/arrow_array/types/struct.TimestampSecondType.html
+++ b/arrow_array/types/struct.TimestampSecondType.html
@@ -71,7 +71,7 @@
 <li><code>delta</code> - The interval to add</li>
 <li><code>tz</code> - The timezone in which to interpret <code>timestamp</code></li>
 </ul>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampSecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#155-160">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampSecondType" class= [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-TimestampSecondType" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#155-160">source</a><a href="#impl-ArrowPrimitiveType-for-TimestampSecondType" class= [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.UInt16Type.html b/arrow_array/types/struct.UInt16Type.html
index 554d3fecfcf..16a5e251007 100644
--- a/arrow_array/types/struct.UInt16Type.html
+++ b/arrow_array/types/struct.UInt16Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An unsigned 16-bit integer type."><title>UInt16Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#119-124">source</a><a href="#impl-ArrowPrimitiveType-for-UInt16Type" class="anchor">§</a><h3 class="code-header">im [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt16Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#119-124">source</a><a href="#impl-ArrowPrimitiveType-for-UInt16Type" class="anchor">§</a><h3 class="code-header">im [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.UInt32Type.html b/arrow_array/types/struct.UInt32Type.html
index ee5e2376fa7..ca689cab9fc 100644
--- a/arrow_array/types/struct.UInt32Type.html
+++ b/arrow_array/types/struct.UInt32Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An unsigned 32-bit integer type."><title>UInt32Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#125-130">source</a><a href="#impl-ArrowPrimitiveType-for-UInt32Type" class="anchor">§</a><h3 class="code-header">im [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt32Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#125-130">source</a><a href="#impl-ArrowPrimitiveType-for-UInt32Type" class="anchor">§</a><h3 class="code-header">im [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.UInt64Type.html b/arrow_array/types/struct.UInt64Type.html
index 5fa54f03c10..259a66bd58d 100644
--- a/arrow_array/types/struct.UInt64Type.html
+++ b/arrow_array/types/struct.UInt64Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An unsigned 64-bit integer type."><title>UInt64Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#131-136">source</a><a href="#impl-ArrowPrimitiveType-for-UInt64Type" class="anchor">§</a><h3 class="code-header">im [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt64Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#131-136">source</a><a href="#impl-ArrowPrimitiveType-for-UInt64Type" class="anchor">§</a><h3 class="code-header">im [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/struct.UInt8Type.html b/arrow_array/types/struct.UInt8Type.html
index 3f3128fb2bd..267c0974447 100644
--- a/arrow_array/types/struct.UInt8Type.html
+++ b/arrow_array/types/struct.UInt8Type.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An unsigned 8-bit integer type."><title>UInt8Type in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a78 [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt8Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#113-118">source</a><a href="#impl-ArrowPrimitiveType-for-UInt8Type" class="anchor">§</a><h3 class="code-header">impl [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowPrimitiveType-for-UInt8Type" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#113-118">source</a><a href="#impl-ArrowPrimitiveType-for-UInt8Type" class="anchor">§</a><h3 class="code-header">impl [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_array/types/trait.ArrowPrimitiveType.html b/arrow_array/types/trait.ArrowPrimitiveType.html
index 3693a41b54f..045d88bb93f 100644
--- a/arrow_array/types/trait.ArrowPrimitiveType.html
+++ b/arrow_array/types/trait.ArrowPrimitiveType.html
@@ -1,16 +1,16 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait bridging the dynamic-typed nature of Arrow (via `DataType`) with the static-typed nature of rust types (`ArrowNativeType`) for all types that implement `ArrowNativeType`."><title>ArrowPrimitiveType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")do [...]
     type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../arithmetic/trait.ArrowNativeTypeOp.html" title="trait arrow_array::arithmetic::ArrowNativeTypeOp">ArrowNativeTypeOp</a>;
 
-    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>;
+    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType;
 
     // Provided methods
     fn <a href="#method.get_byte_width" class="fn">get_byte_width</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> { ... }
 <span class="item-spacer"></span>    fn <a href="#method.default_value" class="fn">default_value</a>() -&gt; Self::<a class="associatedtype" href="trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a> { ... }
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait bridging the dynamic-typed nature of Arrow (via <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>) with the
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait bridging the dynamic-typed nature of Arrow (via [<code>DataType</code>]) with the
 static-typed nature of rust types (<a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>) for all types that implement <a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>.</p>
 </div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#56">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../arithmetic/trait. [...]
-</div></details></div><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#59">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" hre [...]
+</div></details></div><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#59">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType</h4></sect [...]
 </div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_byte_width" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#63-65">source</a><h4 class="code-header">fn <a href="#method.get_byte_width" class="fn">get_byte_width</a>() -&gt; <a class="primitive" href="https://doc.rust-la [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.default_value" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#70-72">source</a><h4 class="code-header">fn <a href="#method.default_value" class="fn">default_value</a>() -&gt; Self::<a class="associatedtype" href="trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a></h4></section></summary><div cla [...]
 <p>This is useful for aggregate array ops like <code>sum()</code>, <code>mean()</code>.</p>
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
diff --git a/arrow_array/types/trait.ArrowTimestampType.html b/arrow_array/types/trait.ArrowTimestampType.html
index 8a44d646f81..a011a410ba0 100644
--- a/arrow_array/types/trait.ArrowTimestampType.html
+++ b/arrow_array/types/trait.ArrowTimestampType.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A timestamp type allows us to create array builders that take a timestamp."><title>ArrowTimestampType in arrow_array::types - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-R [...]
-    const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: <a class="enum" href="../../arrow_schema/datatype/enum.TimeUnit.html" title="enum arrow_schema::datatype::TimeUnit">TimeUnit</a>;
+    const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: TimeUnit;
 
     // Required method
     fn <a href="#tymethod.make_value" class="fn">make_value</a>(naive: <a class="struct" href="https://docs.rs/chrono/latest/chrono/naive/datetime/struct.NaiveDateTime.html" title="struct chrono::naive::datetime::NaiveDateTime">NaiveDateTime</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;;
 
     // Provided method
-    fn <a href="#method.get_time_unit" class="fn">get_time_unit</a>() -&gt; <a class="enum" href="../../arrow_schema/datatype/enum.TimeUnit.html" title="enum arrow_schema::datatype::TimeUnit">TimeUnit</a> { ... }
+    fn <a href="#method.get_time_unit" class="fn">get_time_unit</a>() -&gt; TimeUnit { ... }
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A timestamp type allows us to create array builders that take a timestamp.</p>
-</div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.UNIT" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#378">source</a><h4 class="code-header">const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: <a class="enum" href="../../arrow_schem [...]
+</div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.UNIT" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#378">source</a><h4 class="code-header">const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: TimeUnit</h4></section></summary><div c [...]
 </div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.make_value" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#389">source</a><h4 class="code-header">fn <a href="#tymethod.make_value" class="fn">make_value</a>(naive: <a class="struct" href="https://docs.rs/chrono/latest/chr [...]
-<p>See <a href="../../arrow_schema/datatype/enum.DataType.html#variant.Timestamp" title="variant arrow_schema::datatype::DataType::Timestamp"><code>DataType::Timestamp</code></a> for more information on timezone handling</p>
-</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_time_unit" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#382-384">source</a><h4 class="code-header">fn <a href="#method.get_time_unit" class="fn">get_time_unit</a>() -&gt; <a class="enum" href="../../arrow_schema/dataty [...]
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
+<p>See [<code>DataType::Timestamp</code>] for more information on timezone handling</p>
+</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_time_unit" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#382-384">source</a><h4 class="code-header">fn <a href="#method.get_time_unit" class="fn">get_time_unit</a>() -&gt; TimeUnit</h4></section><span class="item-info"> [...]
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
diff --git a/arrow_array/types/trait.ByteArrayType.html b/arrow_array/types/trait.ByteArrayType.html
index 2a405337bf9..651caa9fac1 100644
--- a/arrow_array/types/trait.ByteArrayType.html
+++ b/arrow_array/types/trait.ByteArrayType.html
@@ -3,13 +3,13 @@
     type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType [...]
 
     const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
-    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>;
+    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType;
 
     // Required method
     fn <a href="#tymethod.validate" class="fn">validate</a>(
         offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
         values: &amp;Buffer
-    ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the variable-size byte array types</p>
 <p>See <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">Variable Size Binary Layout</a></p>
 </div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/list_arra [...]
@@ -17,9 +17,9 @@
 Utf8Array will have native type has &amp;str
 BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></p>
 </div></details></div><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1422">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="pri [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1425">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Datatype of array [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1425">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType</h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
 </div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1428">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Verifies that every consecutive pair of <code>offsets</code> denotes a val [...]
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></p>
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
diff --git a/arrow_array/types/trait.ByteViewType.html b/arrow_array/types/trait.ByteViewType.html
index 65657f9d55e..619c606e4af 100644
--- a/arrow_array/types/trait.ByteViewType.html
+++ b/arrow_array/types/trait.ByteViewType.html
@@ -4,10 +4,10 @@
 
     const <a href="#associatedconstant.IS_UTF8" class="constant">IS_UTF8</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
     const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
-    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a> = _;
+    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType = _;
 
     // Required method
-    fn <a href="#tymethod.validate" class="fn">validate</a>(views: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>], buffers: &amp;[Buffer]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.h [...]
+    fn <a href="#tymethod.validate" class="fn">validate</a>(views: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>], buffers: &amp;[Buffer]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the variable length bytes view array types</p>
 </div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1537">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="bytes/trait.ByteAr [...]
 Utf8Array will have native type has &amp;str
@@ -15,6 +15,6 @@ BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/pri
 </div></details><details class="toggle" open><summary><section id="associatedtype.Owned" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1540">source</a><h4 class="code-header">type <a href="#associatedtype.Owned" class="associatedtype">Owned</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.htm [...]
 </div></details></div><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.IS_UTF8" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1522">source</a><h4 class="code-header">const <a href="#associatedconstant.IS_UTF8" class="constant">IS_UTF8</a>: <a class="primitive" hr [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1532">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>“Binary” or “String”, for use in displayed or err [...]
-</div></details></div><h2 id="provided-associated-consts" class="section-header">Provided Associated Constants<a href="#provided-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1525-1529">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="en [...]
-</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1543">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(views: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nig [...]
+</div></details></div><h2 id="provided-associated-consts" class="section-header">Provided Associated Constants<a href="#provided-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1525-1529">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType = _ [...]
+</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1543">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(views: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nig [...]
 </div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
diff --git a/arrow_array/types/trait.DecimalType.html b/arrow_array/types/trait.DecimalType.html
index 27ef4637924..ff1d580cf19 100644
--- a/arrow_array/types/trait.DecimalType.html
+++ b/arrow_array/types/trait.DecimalType.html
@@ -2,8 +2,8 @@
     const <a href="#associatedconstant.BYTE_LENGTH" class="constant">BYTE_LENGTH</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
     const <a href="#associatedconstant.MAX_PRECISION" class="constant">MAX_PRECISION</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>;
     const <a href="#associatedconstant.MAX_SCALE" class="constant">MAX_SCALE</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>;
-    const <a href="#associatedconstant.TYPE_CONSTRUCTOR" class="constant">TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.fn.html">fn</a>(_: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>) -&gt; <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::Dat [...]
-    const <a href="#associatedconstant.DEFAULT_TYPE" class="constant">DEFAULT_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>;
+    const <a href="#associatedconstant.TYPE_CONSTRUCTOR" class="constant">TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.fn.html">fn</a>(_: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>) -&gt; DataType;
+    const <a href="#associatedconstant.DEFAULT_TYPE" class="constant">DEFAULT_TYPE</a>: DataType;
     const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
 
     // Required methods
@@ -11,7 +11,7 @@
 <span class="item-spacer"></span>    fn <a href="#tymethod.validate_decimal_precision" class="fn">validate_decimal_precision</a>(
         value: Self::<a class="associatedtype" href="trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>,
         precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-    ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;;
+    ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the decimal types, used by <a href="../array/primitive_array/struct.PrimitiveArray.html" title="struct arrow_array::array::primitive_array::PrimitiveArray"><code>PrimitiveArray</code></a> to provide a generic
 implementation across the various decimal types</p>
 <p>Implemented by <a href="struct.Decimal128Type.html" title="struct arrow_array::types::Decimal128Type"><code>Decimal128Type</code></a> and <a href="struct.Decimal256Type.html" title="struct arrow_array::types::Decimal256Type"><code>Decimal256Type</code></a> for <a href="../array/primitive_array/type.Decimal128Array.html" title="type arrow_array::array::primitive_array::Decimal128Array"><code>Decimal128Array</code></a>
@@ -19,12 +19,12 @@ and <a href="../array/primitive_array/type.Decimal256Array.html" title="type arr
 </div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.BYTE_LENGTH" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1235">source</a><h4 class="code-header">const <a href="#associatedconstant.BYTE_LENGTH" class="constant">BYTE_LENGTH</a>: <a class="primiti [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.MAX_PRECISION" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1237">source</a><h4 class="code-header">const <a href="#associatedconstant.MAX_PRECISION" class="constant">MAX_PRECISION</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Maximum number of significant digits</p>
 </div></details><details class="toggle" open><summary><section id="associatedconstant.MAX_SCALE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1239">source</a><h4 class="code-header">const <a href="#associatedconstant.MAX_SCALE" class="constant">MAX_SCALE</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></h4></section></summary><div class="docblock"><p>Maximum no of digits after the decimal point (note the  [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.TYPE_CONSTRUCTOR" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1241">source</a><h4 class="code-header">const <a href="#associatedconstant.TYPE_CONSTRUCTOR" class="constant">TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.fn.html">fn</a>(_: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.ht [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.DEFAULT_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1243">source</a><h4 class="code-header">const <a href="#associatedconstant.DEFAULT_TYPE" class="constant">DEFAULT_TYPE</a>: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Default  [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.TYPE_CONSTRUCTOR" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1241">source</a><h4 class="code-header">const <a href="#associatedconstant.TYPE_CONSTRUCTOR" class="constant">TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.fn.html">fn</a>(_: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.ht [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.DEFAULT_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1243">source</a><h4 class="code-header">const <a href="#associatedconstant.DEFAULT_TYPE" class="constant">DEFAULT_TYPE</a>: DataType</h4></section></summary><div class="docblock"><p>Default values for [<code>DataType</code>]</p>
 </div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1246">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>“Decimal128” or “Decimal256”, for use in error me [...]
 </div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.format_decimal" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1249">source</a><h4 class="code-header">fn <a href="#tymethod.format_decimal" class="fn">format_decimal</a>(value: Self::<a class="associatedtype" href="trait. [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.validate_decimal_precision" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1252">source</a><h4 class="code-header">fn <a href="#tymethod.validate_decimal_precision" class="fn">validate_decimal_precision</a>(
     value: Self::<a class="associatedtype" href="trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a>,
     precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validates that <code>value</code> contains no more than <code>precision</c [...]
-</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Validates that <code>value</code> contains no more than <code>precision</code> decimal digits</p>
+</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section  [...]
\ No newline at end of file
diff --git a/help.html b/help.html
index 32ee9d9de66..603ed81ec95 100644
--- a/help.html
+++ b/help.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
diff --git a/parquet/file/properties/constant.DEFAULT_READ_BLOOM_FILTER.html b/parquet/file/properties/constant.DEFAULT_READ_BLOOM_FILTER.html
index 68a3ee3e6cc..db0675aae4f 100644
--- a/parquet/file/properties/constant.DEFAULT_READ_BLOOM_FILTER.html
+++ b/parquet/file/properties/constant.DEFAULT_READ_BLOOM_FILTER.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `DEFAULT_READ_BLOOM_FILTER` constant in crate `parquet`."><title>DEFAULT_READ_BLOOM_FILTER in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaaf [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `DEFAULT_READ_BLOOM_FILTER` constant in crate `parquet`."><title>DEFAULT_READ_BLOOM_FILTER in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaaf [...]
\ No newline at end of file
diff --git a/parquet/file/properties/enum.EnabledStatistics.html b/parquet/file/properties/enum.EnabledStatistics.html
index aa46ef1bbd7..78cc25cc218 100644
--- a/parquet/file/properties/enum.EnabledStatistics.html
+++ b/parquet/file/properties/enum.EnabledStatistics.html
@@ -1,14 +1,26 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Controls the level of statistics to be computed by the writer"><title>EnabledStatistics in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular- [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Controls the level of statistics to be computed by the writer and stored in the parquet file."><title>EnabledStatistics in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac [...]
     None,
     Chunk,
     Page,
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Controls the level of statistics to be computed by the writer</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.None" class="variant"><a href="#variant.None" class="anchor">§</a><h3 class="code-header">None</h3></section><div class="docblock"><p>Compute no statistics</p>
-</div><section id="variant.Chunk" class="variant"><a href="#variant.Chunk" class="anchor">§</a><h3 class="code-header">Chunk</h3></section><div class="docblock"><p>Compute chunk-level statistics but not page-level</p>
-</div><section id="variant.Page" class="variant"><a href="#variant.Page" class="anchor">§</a><h3 class="code-header">Page</h3></section><div class="docblock"><p>Compute page-level and chunk-level statistics</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EnabledStatistics" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#673">source</a><a href="#impl-Clone-for-EnabledStatistics" class="anchor">§</a><h3 class="code-header">impl <a class [...]
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Controls the level of statistics to be computed by the writer and stored in
+the parquet file.</p>
+<p>Enabling statistics makes the resulting Parquet file larger and requires
+more time to read the parquet footer.</p>
+<p>Statistics can be used to improve query performance by pruning row groups
+and pages during query execution if the query engine supports evaluating the
+predicate using the statistics.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.None" class="variant"><a href="#variant.None" class="anchor">§</a><h3 class="code-header">None</h3></section><div class="docblock"><p>Compute no statistics.</p>
+</div><section id="variant.Chunk" class="variant"><a href="#variant.Chunk" class="anchor">§</a><h3 class="code-header">Chunk</h3></section><div class="docblock"><p>Compute column chunk-level statistics but not page-level.</p>
+<p>Setting this option will store one set of statistics for each relevant
+column for each row group. The more row groups written, the more
+statistics will be stored.</p>
+</div><section id="variant.Page" class="variant"><a href="#variant.Page" class="anchor">§</a><h3 class="code-header">Page</h3></section><div class="docblock"><p>Compute page-level and column chunk-level statistics.</p>
+<p>Setting this option will store one set of statistics for each relevant
+column for each page and row group. The more row groups and the more
+pages written, the more statistics will be stored.</p>
+</div></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EnabledStatistics" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#681">source</a><a href="#impl-Clone-for-EnabledStatistics" class="anchor">§</a><h3 class="code-header">impl <a class [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-EnabledStatistics" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#673">source</a><a href="#impl-Copy-for-EnabledStatistics" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-EnabledStatistics" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#681">source</a><a href="#impl-Copy-for-EnabledStatistics" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/parquet/file/properties/index.html b/parquet/file/properties/index.html
index 104772a5c7b..311013d9eb0 100644
--- a/parquet/file/properties/index.html
+++ b/parquet/file/properties/index.html
@@ -1,4 +1,5 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configuration via `WriterProperties` and `ReaderProperties`"><title>parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2, [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configuration via `WriterProperties` and `ReaderProperties`"><title>parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2, [...]
 </div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BloomFilterProperties.html" title="struct parquet::file::properties::BloomFilterProperties">BloomFilterProperties</a></div><div class="desc docblock-short">Controls the bloom filter to be computed by the writer.</div></li><li><div class="item-name"><a class="struct" href="struct.ColumnProperties.html" t [...]
 <a href="struct.ReaderProperties.html" title="struct parquet::file::properties::ReaderProperties"><code>ReaderProperties</code></a></div></li><li><div class="item-name"><a class="struct" href="struct.WriterProperties.html" title="struct parquet::file::properties::WriterProperties">WriterProperties</a></div><div class="desc docblock-short">Configuration settings for writing parquet files.</div></li><li><div class="item-name"><a class="struct" href="struct.WriterPropertiesBuilder.html" tit [...]
-<a href="struct.WriterProperties.html" title="struct parquet::file::properties::WriterProperties"><code>WriterProperties</code></a></div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.EnabledStatistics.html" title="enum parquet::file::properties::EnabledStatistics">EnabledStatistics</a></div><div class="desc docblock-short">Controls the level of statistics to be co [...]
\ No newline at end of file
+<a href="struct.WriterProperties.html" title="struct parquet::file::properties::WriterProperties"><code>WriterProperties</code></a></div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.EnabledStatistics.html" title="enum parquet::file::properties::EnabledStatistics">EnabledStatistics</a></div><div class="desc docblock-short">Controls the level of statistics to be co [...]
+the parquet file.</div></li><li><div class="item-name"><a class="enum" href="enum.WriterVersion.html" title="enum parquet::file::properties::WriterVersion">WriterVersion</a></div><div class="desc docblock-short">Parquet writer version.</div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.DEFAULT_BLOOM_FILTER_FPP.html" title="constant parquet::fil [...]
\ No newline at end of file
diff --git a/parquet/file/properties/struct.BloomFilterProperties.html b/parquet/file/properties/struct.BloomFilterProperties.html
index 67415528190..db41d409d5e 100644
--- a/parquet/file/properties/struct.BloomFilterProperties.html
+++ b/parquet/file/properties/struct.BloomFilterProperties.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Controls the bloom filter to be computed by the writer."><title>BloomFilterProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Controls the bloom filter to be computed by the writer."><title>BloomFilterProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
     pub fpp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>,
     pub ndv: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Controls the bloom filter to be computed by the writer.</p>
@@ -17,9 +17,9 @@ is to set ndv to number of rows. However it can reduce disk size if you know in
 number of distinct values. For very small ndv value it is probably not worth it to use bloom filter
 anyway.</p>
 <p>Increasing this value (without increasing fpp) will result in an increase in disk or memory size.</p>
-</div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BloomFilterProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#703">source</a><a href="#impl-Clone-for-BloomFilterProperties" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
+</div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BloomFilterProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#719">source</a><a href="#impl-Clone-for-BloomFilterProperties" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-BloomFilterProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#703">source</a><a href="#impl-StructuralPartialEq-for-BloomFilterProperties" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait  [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-BloomFilterProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#719">source</a><a href="#impl-StructuralPartialEq-for-BloomFilterProperties" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/parquet/file/properties/struct.ColumnProperties.html b/parquet/file/properties/struct.ColumnProperties.html
index 6b3f92531ba..7bc070daf75 100644
--- a/parquet/file/properties/struct.ColumnProperties.html
+++ b/parquet/file/properties/struct.ColumnProperties.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Container for column properties that can be changed as part of writer."><title>ColumnProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans- [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Container for column properties that can be changed as part of writer."><title>ColumnProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans- [...]
     encoding: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Encoding.html" title="enum parquet::basic::Encoding">Encoding</a>&gt;,
     codec: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Compression.html" title="enum parquet::basic::Compression">Compression</a>&gt;,
     dictionary_enabled: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;,
@@ -9,38 +9,38 @@
 <p>If a field is <code>None</code>, it means that no specific value has been set for this column,
 so some subsequent or default value must be used.</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.encoding" class="structfield section-header"><a href="#structfield.encoding" class="anchor field">§</a><code>encoding: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Encoding.html" title="enum parquet::basic::Encoding">Encoding</a>&g [...]
-</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#754-859">source</a><a href="#impl-ColumnProperties" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.ColumnProperties.html" ti [...]
+</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#770-875">source</a><a href="#impl-ColumnProperties" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.ColumnProperties.html" ti [...]
 <p>If dictionary is not enabled, this is treated as a primary encoding for a column.
 In case when dictionary is enabled for a column, this value is considered to
 be a fallback encoding.</p>
 <p>Panics if user tries to set dictionary encoding here, regardless of dictionary
 encoding flag being set. Use <code>set_dictionary_enabled</code> method to enable dictionary
 for a column.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_compression" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#772-774">source</a><h4 class="code-header">fn <a href="#method.set_compression" class="fn">set_compression</a>(&amp;mut self, value: <a class="enum" href="../../basic/enum.Compression.html" title="enum parquet::basic::Compression">Compression</a>)</h4></section></summary><div class="docblock"><p [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_dictionary_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#777-779">source</a><h4 class="code-header">fn <a href="#method.set_dictionary_enabled" class="fn">set_dictionary_enabled</a>(&amp;mut self, enabled: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_statistics_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#782-784">source</a><h4 class="code-header">fn <a href="#method.set_statistics_enabled" class="fn">set_statistics_enabled</a>(&amp;mut self, enabled: <a class="enum" href="enum.EnabledStatistics.html" title="enum parquet::file::properties::EnabledStatistics">EnabledStatistics</a>)</h4></se [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_statistics_size" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#787-789">source</a><h4 class="code-header">fn <a href="#method.set_max_statistics_size" class="fn">set_max_statistics_size</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docbl [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#794-800">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_enabled" class="fn">set_bloom_filter_enabled</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docb [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_compression" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#788-790">source</a><h4 class="code-header">fn <a href="#method.set_compression" class="fn">set_compression</a>(&amp;mut self, value: <a class="enum" href="../../basic/enum.Compression.html" title="enum parquet::basic::Compression">Compression</a>)</h4></section></summary><div class="docblock"><p [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_dictionary_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#793-795">source</a><h4 class="code-header">fn <a href="#method.set_dictionary_enabled" class="fn">set_dictionary_enabled</a>(&amp;mut self, enabled: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_statistics_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#798-800">source</a><h4 class="code-header">fn <a href="#method.set_statistics_enabled" class="fn">set_statistics_enabled</a>(&amp;mut self, enabled: <a class="enum" href="enum.EnabledStatistics.html" title="enum parquet::file::properties::EnabledStatistics">EnabledStatistics</a>)</h4></se [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_statistics_size" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#803-805">source</a><h4 class="code-header">fn <a href="#method.set_max_statistics_size" class="fn">set_max_statistics_size</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docbl [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#810-816">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_enabled" class="fn">set_bloom_filter_enabled</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docb [...]
 otherwise it is a no-op.
 If <code>value</code> is <code>false</code>, resets bloom filter properties to <code>None</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_fpp" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#808-817">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_fpp" class="fn">set_bloom_filter_fpp</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>)</h4></section></summary><div class="docblock"><p>Sets  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_fpp" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#824-833">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_fpp" class="fn">set_bloom_filter_fpp</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>)</h4></section></summary><div class="docblock"><p>Sets  [...]
 bloom filter if not previously enabled.</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>Panics if the <code>value</code> is not between 0 and 1 exclusive</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_ndv" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#821-825">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_ndv" class="fn">set_bloom_filter_ndv</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>Sets  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bloom_filter_ndv" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#837-841">source</a><h4 class="code-header">fn <a href="#method.set_bloom_filter_ndv" class="fn">set_bloom_filter_ndv</a>(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>Sets  [...]
 enables bloom filter if not previously enabled.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.encoding" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#828-830">source</a><h4 class="code-header">fn <a href="#method.encoding" class="fn">encoding</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Encoding.html" t [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.compression" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#833-835">source</a><h4 class="code-header">fn <a href="#method.compression" class="fn">compression</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Compres [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.dictionary_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#840-842">source</a><h4 class="code-header">fn <a href="#method.dictionary_enabled" class="fn">dictionary_enabled</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.encoding" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#844-846">source</a><h4 class="code-header">fn <a href="#method.encoding" class="fn">encoding</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Encoding.html" t [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.compression" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#849-851">source</a><h4 class="code-header">fn <a href="#method.compression" class="fn">compression</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../basic/enum.Compres [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.dictionary_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#856-858">source</a><h4 class="code-header">fn <a href="#method.dictionary_enabled" class="fn">dictionary_enabled</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href [...]
 disabled then returns <code>Some(false)</code>. If result is <code>None</code>, then no setting has
 been provided.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.statistics_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#846-848">source</a><h4 class="code-header">fn <a href="#method.statistics_enabled" class="fn">statistics_enabled</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="enu [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.statistics_enabled" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#862-864">source</a><h4 class="code-header">fn <a href="#method.statistics_enabled" class="fn">statistics_enabled</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="enu [...]
 returns <code>Some(false)</code>. If result is <code>None</code>, then no setting has been provided.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.max_statistics_size" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#851-853">source</a><h4 class="code-header">fn <a href="#method.max_statistics_size" class="fn">max_statistics_size</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" h [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.bloom_filter_properties" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#856-858">source</a><h4 class="code-header">fn <a href="#method.bloom_filter_properties" class="fn">bloom_filter_properties</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a cl [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#743">source</a><a href="#impl-Clone-for-ColumnProperties" class="anchor">§</a><h3 class="co [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.max_statistics_size" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#867-869">source</a><h4 class="code-header">fn <a href="#method.max_statistics_size" class="fn">max_statistics_size</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" h [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.bloom_filter_properties" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#872-874">source</a><h4 class="code-header">fn <a href="#method.bloom_filter_properties" class="fn">bloom_filter_properties</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a cl [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#759">source</a><a href="#impl-Clone-for-ColumnProperties" class="anchor">§</a><h3 class="co [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#743">source</a><a href="#impl-StructuralPartialEq-for-ColumnProperties" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::mark [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-ColumnProperties" class="impl"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#759">source</a><a href="#impl-StructuralPartialEq-for-ColumnProperties" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::mark [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/parquet/file/properties/struct.ReaderProperties.html b/parquet/file/properties/struct.ReaderProperties.html
index ae9c1cb2081..a1f471c779c 100644
--- a/parquet/file/properties/struct.ReaderProperties.html
+++ b/parquet/file/properties/struct.ReaderProperties.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configuration settings for reading parquet files."><title>ReaderProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configuration settings for reading parquet files."><title>ReaderProperties in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
     codec_options: CodecOptions,
     read_bloom_filter: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Configuration settings for reading parquet files.</p>
@@ -14,9 +14,9 @@ Use <a href="struct.ReaderPropertiesBuilder.html" title="struct parquet::file::p
 </span><span class="kw">let </span>props = ReaderProperties::builder()
     .set_backward_compatible_lz4(<span class="bool-val">false</span>)
     .build();</code></pre></div>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.codec_options" class="structfield section-header"><a href="#structfield.codec_options" class="anchor field">§</a><code>codec_options: CodecOptions</code></span><span id="structfield.read_bloom_filter" class="structfield section-header"><a href="#structfield.read_bloom_filter" class="anchor field">§</a><code>read_bloom_filter: <a class="primitive" href="http [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.codec_options" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#896-898">source</a><h4 class="code-header">pub(crate) fn <a href="#method.codec_options" class="fn">codec_options</a>(&amp;self) -&gt; &amp;CodecOptions</h4></section></summary><div class="docblock"><p>Returns codec options.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read_bloom_filter" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#901-903">source</a><h4 class="code-header">pub(crate) fn <a href="#method.read_bloom_filter" class="fn">read_bloom_filter</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.codec_options" class="structfield section-header"><a href="#structfield.codec_options" class="anchor field">§</a><code>codec_options: CodecOptions</code></span><span id="structfield.read_bloom_filter" class="structfield section-header"><a href="#structfield.read_bloom_filter" class="anchor field">§</a><code>read_bloom_filter: <a class="primitive" href="http [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.codec_options" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#912-914">source</a><h4 class="code-header">pub(crate) fn <a href="#method.codec_options" class="fn">codec_options</a>(&amp;self) -&gt; &amp;CodecOptions</h4></section></summary><div class="docblock"><p>Returns codec options.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read_bloom_filter" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#917-919">source</a><h4 class="code-header">pub(crate) fn <a href="#method.read_bloom_filter" class="fn">read_bloom_filter</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns [...]
 </div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-ReaderProperties" class="impl"><a href="#impl-Freeze-for-ReaderProperties" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker: [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
diff --git a/parquet/file/properties/struct.ReaderPropertiesBuilder.html b/parquet/file/properties/struct.ReaderPropertiesBuilder.html
index ca568201151..737d649ead8 100644
--- a/parquet/file/properties/struct.ReaderPropertiesBuilder.html
+++ b/parquet/file/properties/struct.ReaderPropertiesBuilder.html
@@ -1,18 +1,18 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for parquet file reader configuration. See example on `ReaderProperties`"><title>ReaderPropertiesBuilder in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.tt [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for parquet file reader configuration. See example on `ReaderProperties`"><title>ReaderPropertiesBuilder in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.tt [...]
     codec_options_builder: CodecOptionsBuilder,
     read_bloom_filter: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for parquet file reader configuration. See example on
 <a href="struct.ReaderProperties.html" title="struct parquet::file::properties::ReaderProperties"><code>ReaderProperties</code></a></p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.codec_options_builder" class="structfield section-header"><a href="#structfield.codec_options_builder" class="anchor field">§</a><code>codec_options_builder: CodecOptionsBuilder</code></span><span id="structfield.read_bloom_filter" class="structfield section-header"><a href="#structfield.read_bloom_filter" class="anchor field">§</a><code>read_bloom_filter:  [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_defaults" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#916-921">source</a><h4 class="code-header">fn <a href="#method.with_defaults" class="fn">with_defaults</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Returns default state of the builder.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#924-929">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -&gt; <a class="struct" href="struct.ReaderProperties.html" title="struct parquet::file::properties::ReaderProperties">ReaderProperties</a></h4></section></summary><div class="docblock"><p>Finalizes the co [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_backward_compatible_lz4" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#939-944">source</a><h4 class="code-header">pub fn <a href="#method.set_backward_compatible_lz4" class="fn">set_backward_compatible_lz4</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary>< [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.codec_options_builder" class="structfield section-header"><a href="#structfield.codec_options_builder" class="anchor field">§</a><code>codec_options_builder: CodecOptionsBuilder</code></span><span id="structfield.read_bloom_filter" class="structfield section-header"><a href="#structfield.read_bloom_filter" class="anchor field">§</a><code>read_bloom_filter:  [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_defaults" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#932-937">source</a><h4 class="code-header">fn <a href="#method.with_defaults" class="fn">with_defaults</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Returns default state of the builder.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#940-945">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -&gt; <a class="struct" href="struct.ReaderProperties.html" title="struct parquet::file::properties::ReaderProperties">ReaderProperties</a></h4></section></summary><div class="docblock"><p>Finalizes the co [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_backward_compatible_lz4" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#955-960">source</a><h4 class="code-header">pub fn <a href="#method.set_backward_compatible_lz4" class="fn">set_backward_compatible_lz4</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary>< [...]
 <p>If backward compatible LZ4 is enable, on LZ4_HADOOP error it will fallback
 to the older versions LZ4 algorithms. That is LZ4_FRAME, for backward compatibility
 with files generated by older versions of this library, and LZ4_RAW, for backward
 compatibility with files generated by older versions of parquet-cpp.</p>
 <p>If backward compatible LZ4 is disabled, on LZ4_HADOOP error it will return the error.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_read_bloom_filter" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#952-955">source</a><h4 class="code-header">pub fn <a href="#method.set_read_bloom_filter" class="fn">set_read_bloom_filter</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary><div class="docbloc [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_read_bloom_filter" class="method"><a class="src rightside" href="../../../src/parquet/file/properties.rs.html#968-971">source</a><h4 class="code-header">pub fn <a href="#method.set_read_bloom_filter" class="fn">set_read_bloom_filter</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary><div class="docbloc [...]
 <p>If reading bloom filter is enabled, bloom filter will be read from the file.
 If reading bloom filter is disabled, bloom filter will not be read from the file.</p>
 <p>By default bloom filter is set to be read.</p>
diff --git a/parquet/file/properties/type.ReaderPropertiesPtr.html b/parquet/file/properties/type.ReaderPropertiesPtr.html
index 739ca58bc49..5a82b54ea1e 100644
--- a/parquet/file/properties/type.ReaderPropertiesPtr.html
+++ b/parquet/file/properties/type.ReaderPropertiesPtr.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reference counted reader properties."><title>ReaderPropertiesPtr in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2, [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reference counted reader properties."><title>ReaderPropertiesPtr in parquet::file::properties - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2, [...]
 </div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ReaderPropertiesPtr { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/alloc/sync/struct.Arc.js" data-self-path="parquet::file::properties::ReaderPropertiesPtr" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/search.desc/parquet/parquet-desc-0-.js b/search.desc/parquet/parquet-desc-0-.js
index 56f97a8b19e..8c90b161715 100644
--- a/search.desc/parquet/parquet-desc-0-.js
+++ b/search.desc/parquet/parquet-desc-0-.js
@@ -1 +1 @@
-searchState.loadedDescShard("parquet", 0, "This crate contains the official Native Rust …\nHigh-level API for reading/writing Arrow RecordBatches and …\nContains Rust mappings for Thrift definition. Refer to …\nBloom filter implementation specific to Parquet, as …\nLow level column reader and writer APIs.\nData types that connect Parquet physical types with their …\nCommon Parquet errors and macros.\nDefines a an item with an experimental public API\nLow level APIs for reading raw parque [...]
\ No newline at end of file
+searchState.loadedDescShard("parquet", 0, "This crate contains the official Native Rust …\nHigh-level API for reading/writing Arrow RecordBatches and …\nContains Rust mappings for Thrift definition. Refer to …\nBloom filter implementation specific to Parquet, as …\nLow level column reader and writer APIs.\nData types that connect Parquet physical types with their …\nCommon Parquet errors and macros.\nDefines a an item with an experimental public API\nLow level APIs for reading raw parque [...]
\ No newline at end of file
diff --git a/settings.html b/settings.html
index e92c0b3f51d..e76475f75a9 100644
--- a/settings.html
+++ b/settings.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
diff --git a/src/parquet/file/properties.rs.html b/src/parquet/file/properties.rs.html
index 4a4d339fe63..1089cc95a0c 100644
--- a/src/parquet/file/properties.rs.html
+++ b/src/parquet/file/properties.rs.html
@@ -1258,6 +1258,22 @@
 <a href="#1258" id="1258">1258</a>
 <a href="#1259" id="1259">1259</a>
 <a href="#1260" id="1260">1260</a>
+<a href="#1261" id="1261">1261</a>
+<a href="#1262" id="1262">1262</a>
+<a href="#1263" id="1263">1263</a>
+<a href="#1264" id="1264">1264</a>
+<a href="#1265" id="1265">1265</a>
+<a href="#1266" id="1266">1266</a>
+<a href="#1267" id="1267">1267</a>
+<a href="#1268" id="1268">1268</a>
+<a href="#1269" id="1269">1269</a>
+<a href="#1270" id="1270">1270</a>
+<a href="#1271" id="1271">1271</a>
+<a href="#1272" id="1272">1272</a>
+<a href="#1273" id="1273">1273</a>
+<a href="#1274" id="1274">1274</a>
+<a href="#1275" id="1275">1275</a>
+<a href="#1276" id="1276">1276</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -1929,14 +1945,30 @@
     </span>}
 }
 
-<span class="doccomment">/// Controls the level of statistics to be computed by the writer
+<span class="doccomment">/// Controls the level of statistics to be computed by the writer and stored in
+/// the parquet file.
+///
+/// Enabling statistics makes the resulting Parquet file larger and requires
+/// more time to read the parquet footer.
+///
+/// Statistics can be used to improve query performance by pruning row groups
+/// and pages during query execution if the query engine supports evaluating the
+/// predicate using the statistics.
 </span><span class="attr">#[derive(Debug, Clone, Copy, Eq, PartialEq)]
 </span><span class="kw">pub enum </span>EnabledStatistics {
-    <span class="doccomment">/// Compute no statistics
+    <span class="doccomment">/// Compute no statistics.
     </span><span class="prelude-val">None</span>,
-    <span class="doccomment">/// Compute chunk-level statistics but not page-level
+    <span class="doccomment">/// Compute column chunk-level statistics but not page-level.
+    ///
+    /// Setting this option will store one set of statistics for each relevant
+    /// column for each row group. The more row groups written, the more
+    /// statistics will be stored.
     </span>Chunk,
-    <span class="doccomment">/// Compute page-level and chunk-level statistics
+    <span class="doccomment">/// Compute page-level and column chunk-level statistics.
+    ///
+    /// Setting this option will store one set of statistics for each relevant
+    /// column for each page and row group. The more row groups and the more
+    /// pages written, the more statistics will be stored.
     </span>Page,
 }
 
diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
index 3e589714916..eac1b6c5b96 100644
--- a/trait.impl/core/convert/trait.From.js
+++ b/trait.impl/core/convert/trait.From.js
@@ -1,6 +1,6 @@
 (function() {var implementors = {
 "arrow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;<a class=\"struct\" href=\"arrow/pyarrow/struct.ArrowException.html\" title=\"struct arrow::pyarrow::ArrowException\">ArrowException</a>&gt; for Py&lt;<a class=\"struct\" href=\"arrow/pyarrow/struct.ArrowException.html\" title=\"struct arrow::pyarrow::ArrowException\">ArrowException</a>&gt;"],["impl <a class=\"trait\" href=\"https [...]
-"arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;<a class=\"struct\" href=\"arrow_array/array/struct_array/struct.StructArray.html\" title=\"struct arrow_array::array::struct_array::StructArray\">StructArray</a>&gt; for <a class=\"struct\" href=\"arrow_array/record_batch/struct.RecordBatch.html\" title=\"struct arrow_array::record_batch::RecordBatch\">RecordBatch</a>"],["i [...]
+"arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;<a class=\"struct\" href=\"arrow_array/array/struct_array/struct.StructArray.html\" title=\"struct arrow_array::array::struct_array::StructArray\">StructArray</a>&gt; for <a class=\"struct\" href=\"arrow_array/record_batch/struct.RecordBatch.html\" title=\"struct arrow_array::record_batch::RecordBatch\">RecordBatch</a>"],["i [...]
 "arrow_avro":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"arrow_avro/schema/enum.PrimitiveType.html\" title=\"enum arrow_avro::schema::PrimitiveType\">PrimitiveType</a>&gt; for <a class=\"enum\" href=\"arrow_avro/codec/enum.Codec.html\" title=\"enum arrow_avro::codec::Codec\">Codec</a>"]],
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>]&gt; for <a class=\"struct\" href=\"arrow_buffer/buffer/boolean/struct.BooleanBuffer.html\" title=\"struct arrow_buffer::buffer::boolean::BooleanBuffer\">BooleanBuffer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-l [...]
 "arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>&gt; for <a class=\"enum\" href=\"arrow_cast/display/enum.FormatError.html\" title=\"enum arrow_cast::display::FormatError\">FormatError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.o [...]
diff --git a/trait.impl/core/iter/traits/iterator/trait.Iterator.js b/trait.impl/core/iter/traits/iterator/trait.Iterator.js
index f14e11aa4e9..b493334e7cc 100644
--- a/trait.impl/core/iter/traits/iterator/trait.Iterator.js
+++ b/trait.impl/core/iter/traits/iterator/trait.Iterator.js
@@ -1,6 +1,6 @@
 (function() {var implementors = {
 "arrow":[["impl&lt;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow/util/test_util/struct.BadIterator.html\" title=\"struct arrow::util::test_util::BadIterator\">BadIterator</a>&lt;T&gt;"]],
-"arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html\" title=\"struct arrow_array::ffi_stream::ArrowArrayStreamReader\">ArrowArrayStreamReader</a>"],["impl&lt;'a, R, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/ [...]
+"arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_array/ffi_stream/struct.ArrowArrayStreamReader.html\" title=\"struct arrow_array::ffi_stream::ArrowArrayStreamReader\">ArrowArrayStreamReader</a>"],["impl&lt;'a, R, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/ [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_buffer/util/bit_chunk_iterator/struct.BitChunkIterator.html\" title=\"struct arrow_buffer::util::bit_chunk_iterator::BitChunkIterator\">BitChunkIterator</a>&lt;'_&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/ [...]
 "arrow_csv":[["impl&lt;R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html\" title=\"trait std::io::BufRead\">BufRead</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_csv/reader/struct.BufReader.html\" title=\"struct arrow_csv::reader::BufReader\">BufReader</a>&lt;R&gt;"]],
 "arrow_ipc":[["impl&lt;R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Seek.html\" title=\"trait std::io::Seek\">Seek</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow [...]
diff --git a/type.impl/arrow_array/array/binary_array/type.GenericBinaryArray.js b/type.impl/arrow_array/array/binary_array/type.GenericBinaryArray.js
index 91693fcf68c..467fb075f54 100644
--- a/type.impl/arrow_array/array/binary_array/type.GenericBinaryArray.js
+++ b/type.impl/arrow_array/array/binary_array/type.GenericBinaryArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CGenericByteArray%3CGenericStringType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/binary_array.rs.html#121-134\">source</a><a href=\"#impl-From%3CGenericByteArray%3CGenericStringType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"anch [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CGenericByteArray%3CGenericStringType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/binary_array.rs.html#121-134\">source</a><a href=\"#impl-From%3CGenericByteArray%3CGenericStringType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"anch [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/byte_array/struct.GenericByteArray.js b/type.impl/arrow_array/array/byte_array/struct.GenericByteArray.js
index 19583056ee4..c720866b599 100644
--- a/type.impl/arrow_array/array/byte_array/struct.GenericByteArray.js
+++ b/type.impl/arrow_array/array/byte_array/struct.GenericByteArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericByteArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/byte_array.rs.html#427-476\">source</a><a href=\"#impl-Array-for-GenericByteArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ByteArrayType.html\" title=\"trait arrow_array::types::ByteArrayType\">ByteArrayType</a>& [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericByteArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/byte_array.rs.html#427-476\">source</a><a href=\"#impl-Array-for-GenericByteArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ByteArrayType.html\" title=\"trait arrow_array::types::ByteArrayType\">ByteArrayType</a>& [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/byte_view_array/struct.GenericByteViewArray.js b/type.impl/arrow_array/array/byte_view_array/struct.GenericByteViewArray.js
index d063fb11e55..f0190c1b2ec 100644
--- a/type.impl/arrow_array/array/byte_view_array/struct.GenericByteViewArray.js
+++ b/type.impl/arrow_array/array/byte_view_array/struct.GenericByteViewArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericByteViewArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/byte_view_array.rs.html#280-329\">source</a><a href=\"#impl-Array-for-GenericByteViewArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ByteViewType.html\" title=\"trait arrow_array::types::ByteViewType\">ByteVie [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericByteViewArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/byte_view_array.rs.html#280-329\">source</a><a href=\"#impl-Array-for-GenericByteViewArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ByteViewType.html\" title=\"trait arrow_array::types::ByteViewType\">ByteVie [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/dictionary_array/struct.DictionaryArray.js b/type.impl/arrow_array/array/dictionary_array/struct.DictionaryArray.js
index c2ecd4b1b1b..4ab8d19b7aa 100644
--- a/type.impl/arrow_array/array/dictionary_array/struct.DictionaryArray.js
+++ b/type.impl/arrow_array/array/dictionary_array/struct.DictionaryArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/dictionary_array.rs.html#994-1013\">source</a><a href=\"#impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowDictionaryKeyType.html\" title=\"trait arrow_array::t [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/dictionary_array.rs.html#994-1013\">source</a><a href=\"#impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowDictionaryKeyType.html\" title=\"trait arrow_array::t [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/list_array/struct.GenericListArray.js b/type.impl/arrow_array/array/list_array/struct.GenericListArray.js
index b0cfbf7f3cc..8a0cb92b275 100644
--- a/type.impl/arrow_array/array/list_array/struct.GenericListArray.js
+++ b/type.impl/arrow_array/array/list_array/struct.GenericListArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericListArray%3COffsetSize%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/list_array.rs.html#459-513\">source</a><a href=\"#impl-Array-for-GenericListArray%3COffsetSize%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::a [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-GenericListArray%3COffsetSize%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/list_array.rs.html#459-513\">source</a><a href=\"#impl-Array-for-GenericListArray%3COffsetSize%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::a [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js b/type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js
index 58711b5aae2..4d819f077c0 100644
--- a/type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js
+++ b/type.impl/arrow_array/array/primitive_array/struct.PrimitiveArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-PrimitiveArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/primitive_array.rs.html#988-1036\">source</a><a href=\"#impl-Array-for-PrimitiveArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPrimitiveType.html\" title=\"trait arrow_array::types::ArrowPrimitiveType\">ArrowP [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-PrimitiveArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/primitive_array.rs.html#988-1036\">source</a><a href=\"#impl-Array-for-PrimitiveArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPrimitiveType.html\" title=\"trait arrow_array::types::ArrowPrimitiveType\">ArrowP [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/run_array/struct.RunArray.js b/type.impl/arrow_array/array/run_array/struct.RunArray.js
index 867767f7c79..5fcbe9f7102 100644
--- a/type.impl/arrow_array/array/run_array/struct.RunArray.js
+++ b/type.impl/arrow_array/array/run_array/struct.RunArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-RunArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/run_array.rs.html#305-388\">source</a><a href=\"#impl-Array-for-RunArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.RunEndIndexType.html\" title=\"trait arrow_array::types::RunEndIndexType\">RunEndIndexType</a>&gt; <a clas [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Array-for-RunArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/run_array.rs.html#305-388\">source</a><a href=\"#impl-Array-for-RunArray%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.RunEndIndexType.html\" title=\"trait arrow_array::types::RunEndIndexType\">RunEndIndexType</a>&gt; <a clas [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/array/string_array/type.GenericStringArray.js b/type.impl/arrow_array/array/string_array/type.GenericStringArray.js
index f3f03c1abe9..b487add5580 100644
--- a/type.impl/arrow_array/array/string_array/type.GenericStringArray.js
+++ b/type.impl/arrow_array/array/string_array/type.GenericStringArray.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/string_array.rs.html#76-82\">source</a><a href=\"#impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E\" class=\"anchor [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/string_array.rs.html#76-82\">source</a><a href=\"#impl-From%3CGenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E%3E-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E\" class=\"anchor [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.js b/type.impl/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.js
index 87f8ee01749..3749e8c85b3 100644
--- a/type.impl/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.js
+++ b/type.impl/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#165-199\">source</a><a href=\"#impl-ArrayBuilder-for-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K, T&gt; <a class=\"trait\" href=\"arrow_array/builder/trait.ArrayBuilder. [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#165-199\">source</a><a href=\"#impl-ArrayBuilder-for-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K, T&gt; <a class=\"trait\" href=\"arrow_array/builder/trait.ArrayBuilder. [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.js b/type.impl/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.js
index 7264b1202fe..f4b4e41b62c 100644
--- a/type.impl/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.js
+++ b/type.impl/arrow_array/builder/generic_list_builder/struct.GenericListBuilder.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-GenericListBuilder%3COffsetSize,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_list_builder.rs.html#137-171\">source</a><a href=\"#impl-ArrayBuilder-for-GenericListBuilder%3COffsetSize,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-GenericListBuilder%3COffsetSize,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_list_builder.rs.html#137-171\">source</a><a href=\"#impl-ArrayBuilder-for-GenericListBuilder%3COffsetSize,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.js b/type.impl/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.js
index b503622d3df..54b6256251c 100644
--- a/type.impl/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.js
+++ b/type.impl/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/primitive_builder.rs.html#103-133\">source</a><a href=\"#impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPrimitiveType.html\" title=\"trait arrow_array::types::ArrowP [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/primitive_builder.rs.html#103-133\">source</a><a href=\"#impl-ArrayBuilder-for-PrimitiveBuilder%3CT%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPrimitiveType.html\" title=\"trait arrow_array::types::ArrowP [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/types/struct.GenericBinaryType.js b/type.impl/arrow_array/types/struct.GenericBinaryType.js
index 78ff4bd544b..1d0bd4d48d4 100644
--- a/type.impl/arrow_array/types/struct.GenericBinaryType.js
+++ b/type.impl/arrow_array/types/struct.GenericBinaryType.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ByteArrayType-for-GenericBinaryType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1482-1504\">source</a><a href=\"#impl-ByteArrayType-for-GenericBinaryType%3CO%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;O: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::array::list_array:: [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ByteArrayType-for-GenericBinaryType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1482-1504\">source</a><a href=\"#impl-ByteArrayType-for-GenericBinaryType%3CO%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;O: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::array::list_array:: [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
diff --git a/type.impl/arrow_array/types/struct.GenericStringType.js b/type.impl/arrow_array/types/struct.GenericStringType.js
index ba30850ba4a..988f7671ae4 100644
--- a/type.impl/arrow_array/types/struct.GenericStringType.js
+++ b/type.impl/arrow_array/types/struct.GenericStringType.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ByteArrayType-for-GenericStringType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1436-1470\">source</a><a href=\"#impl-ByteArrayType-for-GenericStringType%3CO%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;O: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::array::list_array:: [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ByteArrayType-for-GenericStringType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1436-1470\">source</a><a href=\"#impl-ByteArrayType-for-GenericStringType%3CO%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;O: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" title=\"trait arrow_array::array::list_array:: [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file