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/01/05 13:14:16 UTC

(arrow-rs) branch asf-site updated: deploy: 2e86650529ff858349c46f209cf2d44c555da4f4

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 6b821cf87f deploy: 2e86650529ff858349c46f209cf2d44c555da4f4
6b821cf87f is described below

commit 6b821cf87f37260b2152e3fbd71029b1bcbd60a4
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Fri Jan 5 13:14:11 2024 +0000

    deploy: 2e86650529ff858349c46f209cf2d44c555da4f4
---
 .../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 +++++------
 .../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.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           | 14 +++++-----
 .../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.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.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       | 14 +++++-----
 .../boolean_builder/struct.BooleanBuilder.html     |  2 +-
 .../struct.FixedSizeBinaryBuilder.html             |  2 +-
 arrow_array/builder/fn.make_builder.html           |  2 +-
 .../struct.GenericByteDictionaryBuilder.html       |  4 +--
 arrow_array/builder/index.html                     |  2 +-
 arrow_array/builder/map_builder/index.html         |  2 +-
 .../builder/map_builder/struct.MapBuilder.html     |  2 +-
 .../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 +-
 .../struct.GenericByteDictionaryBuilder.html       |  4 +--
 arrow_array/builder/struct.MapBuilder.html         |  2 +-
 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 +--
 .../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/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   | 32 +++++++++++-----------
 .../record_batch/struct.RecordBatchIterator.html   | 12 ++++----
 .../record_batch/trait.RecordBatchReader.html      | 14 +++++-----
 .../record_batch/trait.RecordBatchWriter.html      |  8 +++---
 arrow_array/struct.RecordBatch.html                | 32 +++++++++++-----------
 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.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 +-
 .../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.DecimalType.html           | 14 +++++-----
 help.html                                          |  4 +--
 index.html                                         |  4 +--
 settings.html                                      |  4 +--
 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 +-
 .../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 +-
 .../primitive_builder/struct.PrimitiveBuilder.js   |  2 +-
 .../arrow_array/types/struct.GenericBinaryType.js  |  2 +-
 .../arrow_array/types/struct.GenericStringType.js  |  2 +-
 294 files changed, 790 insertions(+), 790 deletions(-)

diff --git a/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html b/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
index 8843603609..eabca91d00 100644
--- a/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
+++ b/arrow_array/arithmetic/trait.ArrowNativeTypeOp.html
@@ -6,19 +6,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, ArrowError&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, <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.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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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>;
@@ -50,19 +50,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, ArrowError&gt;</h4></section></summary> [...]
+</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_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, ArrowError&gt;</h4></section></summary> [...]
+</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_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, ArrowError&gt;</h4></section></summary> [...]
+</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_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, ArrowError&gt;</h4></section></summary> [...]
+</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_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, ArrowError&gt;</h4></section></summary><div class= [...]
+</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_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 [...]
@@ -72,4 +72,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 dacd0fc3e5..21ce2d5ca2 100644
--- a/arrow_array/array/binary_array/type.BinaryArray.html
+++ b/arrow_array/array/binary_array/type.BinaryArray.html
@@ -31,8 +31,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/binary_array/type.GenericBinaryArray.html b/arrow_array/array/binary_array/type.GenericBinaryArray.html
index 0de6daa824..ecdf81f3cc 100644
--- a/arrow_array/array/binary_array/type.GenericBinaryArray.html
+++ b/arrow_array/array/binary_array/type.GenericBinaryArray.html
@@ -1,11 +1,11 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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. [...]
 </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 3a16379ab3..1c78f5fb46 100644
--- a/arrow_array/array/binary_array/type.LargeBinaryArray.html
+++ b/arrow_array/array/binary_array/type.LargeBinaryArray.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 LargeBinaryArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/boolean_array/struct.BooleanArray.html b/arrow_array/array/boolean_array/struct.BooleanArray.html
index 5b0ce3f3fe..d1696a419b 100644
--- a/arrow_array/array/boolean_array/struct.BooleanArray.html
+++ b/arrow_array/array/boolean_array/struct.BooleanArray.html
@@ -73,13 +73,13 @@ 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; ArrayD [...]
+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 [...]
 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.</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/boolean_array.rs.html#309-311">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" cla [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-BooleanArray" class="impl"><a href="#impl-RefUnwindSafe-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-la [...]
     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 e78730b1b0..91e094d6f1 100644
--- a/arrow_array/array/byte_array/struct.GenericByteArray.html
+++ b/arrow_array/array/byte_array/struct.GenericByteArray.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 variable length byte arrays"><title>GenericByteArray in arrow_array::array::byte_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="fo [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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;,
@@ -31,7 +31,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: 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><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><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 [...]
@@ -45,7 +45,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 href="#safety">Safety</a></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,
@@ -57,7 +57,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, 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>
+) -&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  [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <ul>
 <li><code>offsets.len() - 1 != nulls.len()</code></li>
@@ -98,7 +98,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 href="#performance">Performance</a></h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -116,16 +116,16 @@ 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, 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 [...]
+) -&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 [...]
 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; ArrayData [...]
+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= [...]
 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.</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/byte_array.rs.html#473-475">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= [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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" 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-1" class="method trait-impl"><a class="src ri [...]
     &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/dictionary_array/struct.DictionaryArray.html b/arrow_array/array/dictionary_array/struct.DictionaryArray.html
index 94050717aa..8b1474d290 100644
--- a/arrow_array/array/dictionary_array/struct.DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/struct.DictionaryArray.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 dictionary encoded values"><title>DictionaryArray in arrow_array::array::dictionary_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type= [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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>,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
@@ -57,7 +57,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: 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 [...]
+</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 [...]
 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>
@@ -71,7 +71,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, ArrowError&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, <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
 (indexes into the dictionary) and values (dictionary)
 array.</p>
 <h5 id="errors"><a href="#errors">Errors</a></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#359-361">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#364-366">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_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#364-366">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.len" class="method"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#369-371">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#374-376">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#379-381">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,14 +163,14 @@ 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#986-1005">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#691-693">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 [...]
+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#691-693">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  [...]
 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#719-721">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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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#752-756">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"  [...]
 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#220-222">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#256-258">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" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#571-615">source</a><a href="#method.from" 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'>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#256-258">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" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/dictionary_array.rs.html#571-615">source</a><a href="#method.from" 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.htm [...]
 <h4 id="example-2"><a href="#example-2">Example:</a></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 895013b600..359fa3799b 100644
--- a/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html
+++ b/arrow_array/array/dictionary_array/struct.TypedDictionaryArray.html
@@ -21,7 +21,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#808-818">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#815-817">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#820-872">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#825-827">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 [...]
+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#825-827">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  [...]
 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#853-855">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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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#869-871">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"  [...]
diff --git a/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html b/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
index c3074bd1f5..519dacdf4d 100644
--- a/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int16DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 09fc1ef7fa..65998e16af 100644
--- a/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int32DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 32afab6b74..f45e1cad58 100644
--- a/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int64DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 6857f1c875..5764a46d15 100644
--- a/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.Int8DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 d00385b639..8f84dceb4c 100644
--- a/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt16DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 a5a3876524..60261c9aa4 100644
--- a/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt32DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 5474c7f5d5..47b73e4df3 100644
--- a/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt64DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 0c244ddfe1..4359ea9f83 100644
--- a/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html
+++ b/arrow_array/array/dictionary_array/type.UInt8DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 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 d55ef36630..3d82ce3e96 100644
--- a/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.html
+++ b/arrow_array/array/fixed_size_binary_array/struct.FixedSizeBinaryArray.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 fixed size binary arrays"><title>FixedSizeBinaryArray in arrow_array::array::fixed_size_binary_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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>,
@@ -23,14 +23,14 @@ 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: 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  [...]
+</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 [...]
 <h5 id="panics"><a href="#panics">Panics</a></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.try_new" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#77-105">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></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#189-191">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#194-209">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#236-307">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#236-307">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#333-384">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, ArrowError&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, <a class="enum" href="../../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&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 href="#errors-2">Errors</a></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#403-450">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 [...]
+</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#403-450">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 [...]
     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 href="#examples-3">Examples</a></h5>
@@ -115,13 +115,13 @@ 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#453-455">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#564-612">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#569-571">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#569-571">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#597-599">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.</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/fixed_size_binary_array.rs.html#609-611">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 [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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-4" class="method trait-impl"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_binary_array.rs.html#502-538">source</a><a href="#method.from-4" 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#242">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-RefUnwindSafe-for-FixedSizeBinaryArray" class="impl"><a href="#impl-RefUnwindSafe-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="htt [...]
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 5bdbd41700..7e53e3aa76 100644
--- a/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.html
+++ b/arrow_array/array/fixed_size_list_array/struct.FixedSizeListArray.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 [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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Reg [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
@@ -72,8 +72,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: 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,
+</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>,
     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;
@@ -81,11 +81,11 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <h5 id="panics"><a href="#panics">Panics</a></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-198">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: FieldRef,
+    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/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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -93,16 +93,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#208-217">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 [...]
+</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#208-217">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 [...]
 <h5 id="panics-1"><a href="#panics-1">Panics</a></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#220-226">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.into_parts" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#220-226">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.values" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#229-231">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#234-236">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_type" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#234-236">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" class="method"><a class="src rightside" href="../../../src/arrow_array/array/fixed_size_list_array.rs.html#239-242">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#248-250">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>
@@ -125,13 +125,13 @@ 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#330-332">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#368-420">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#373-375">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#373-375">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#401-403">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.</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/fixed_size_list_array.rs.html#413-419">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_s [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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#502-538">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#242">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-RefUnwindSafe-for-FixedSizeListArray" class="impl"><a href="#impl-RefUnwindSafe-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https: [...]
diff --git a/arrow_array/array/fn.get_offsets.html b/arrow_array/array/fn.get_offsets.html
index 400fbd2f9e..fa89f70a59 100644
--- a/arrow_array/array/fn.get_offsets.html
+++ b/arrow_array/array/fn.get_offsets.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="Helper function that gets offset from an `ArrayData`"><title>get_offsets in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <h2 id="safety"><a href="#safety">Safety</a></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 fe311c5edd..c99b02ed21 100644
--- a/arrow_array/array/fn.make_array.html
+++ b/arrow_array/array/fn.make_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="Constructs an array using the input `data`. Returns a reference-counted `Array` instance."><title>make_array in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 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 1e85656679..b7ed1fa561 100644
--- a/arrow_array/array/fn.new_empty_array.html
+++ b/arrow_array/array/fn.new_empty_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="Creates a new empty array"><title>new_empty_array in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 
 <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 48b9f94153..4686584b33 100644
--- a/arrow_array/array/fn.new_null_array.html
+++ b/arrow_array/array/fn.new_null_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="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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link re [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 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 0521f994be..192fe055b1 100644
--- a/arrow_array/array/index.html
+++ b/arrow_array/array/index.html
@@ -2,6 +2,6 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 </div></details><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</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"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-na [...]
 (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.GenericListArray.html" title="struct  [...]
-(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"><a href="#types">Type Aliases</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" hre [...]
\ 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 e2ffc102f0..cc4f4f7a08 100644
--- a/arrow_array/array/list_array/struct.GenericListArray.html
+++ b/arrow_array/array/list_array/struct.GenericListArray.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 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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4- [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     values: <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     value_offsets: OffsetBuffer&lt;OffsetSize&gt;,
@@ -59,15 +59,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: 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 [...]
+</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=" [...]
 The input is the schema of the child array and
-the output is the [<code>DataType</code>], List or LargeList.</p>
+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>
 </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: FieldRef,
+    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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, 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>
+) -&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  [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if</p>
 <ul>
@@ -77,22 +77,22 @@ the output is the [<code>DataType</code>], List or LargeList.</p>
 <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: FieldRef,
+    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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 href="#panics">Panics</a></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: 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.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.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; (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>
+) -&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 [...]
 </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; 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_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_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 href="#safety">Safety</a></h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -100,7 +100,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;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><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><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 [...]
@@ -115,14 +115,14 @@ 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; ArrayData [...]
+</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= [...]
 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.</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/list_array.rs.html#505-512">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= [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-RefUnwindSafe-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt [...]
     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 2bf12fa849..c07b921b60 100644
--- a/arrow_array/array/list_array/type.LargeListArray.html
+++ b/arrow_array/array/list_array/type.LargeListArray.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 `GenericListArray` of variable size lists, storing offsets as `i64`."><title>LargeListArray in arrow_array::array::list_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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: 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
+}</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
diff --git a/arrow_array/array/list_array/type.ListArray.html b/arrow_array/array/list_array/type.ListArray.html
index 053e1f3ed9..7100a9ea38 100644
--- a/arrow_array/array/list_array/type.ListArray.html
+++ b/arrow_array/array/list_array/type.ListArray.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 `GenericListArray` of variable size lists, storing offsets as `i32`."><title>ListArray in arrow_array::array::list_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pre [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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: 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
+}</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
diff --git a/arrow_array/array/map_array/struct.MapArray.html b/arrow_array/array/map_array/struct.MapArray.html
index 154f2e22e1..51cb32bc53 100644
--- a/arrow_array/array/map_array/struct.MapArray.html
+++ b/arrow_array/array/map_array/struct.MapArray.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 key-value maps"><title>MapArray in arrow_array::array::map_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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;,
@@ -9,15 +9,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: 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></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><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: FieldRef,
+    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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, 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>
+) -&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>
 <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 href="#errors">Errors</a></h5>
@@ -31,7 +31,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: FieldRef,
+    field: <a class="type" href="../../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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;,
@@ -43,15 +43,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; (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 [...]
+) -&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 [...]
 </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;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.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.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 href="#safety">Safety</a></h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -61,19 +61,19 @@ 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, ArrowError&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, <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>
 </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; ArrayData< [...]
+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=" [...]
 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.</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/map_array.rs.html#392-399">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=" [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-MapArray" class="impl"><a href="#impl-RefUnwindSafe-for-MapArray" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/ [...]
     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 5b8bc79f0e..03ed728fe8 100644
--- a/arrow_array/array/null_array/struct.NullArray.html
+++ b/arrow_array/array/null_array/struct.NullArray.html
@@ -14,17 +14,17 @@
 <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 [<code>DataType</code>].</p>
+other <a href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></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/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#70-72">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="struc [...]
 </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#75-127">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#80-82">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</ [...]
+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#80-82">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 [...]
 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#108-110">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.</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#124-126">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= [...]
 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#220-222">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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-NullArray" class="impl"><a href="#impl-RefUnwindSafe-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org [...]
     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 dadcbde01d..7a139eda99 100644
--- a/arrow_array/array/primitive_array/struct.PrimitiveArray.html
+++ b/arrow_array/array/primitive_array/struct.PrimitiveArray.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 primitive values"><title>PrimitiveArray in arrow_array::array::primitive_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2 [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
 }</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>
@@ -37,7 +37,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: 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></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><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 href="#panics">Panics</a></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>
@@ -54,7 +54,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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if:</p>
 <ul>
@@ -63,18 +63,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; (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 [...]
+) -&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 [...]
 <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 href="#panics-1">Panics</a></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;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.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.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;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 [...]
+</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 [...]
 <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 [...]
@@ -200,13 +200,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, ArrowError&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, <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
 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#1408-1417">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>, ArrowError&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>, <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
 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#1421-1425">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>
@@ -214,14 +214,14 @@ 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#1433-1457">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#1460-1484">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#987-1035">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#992-994">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 [...]
+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#992-994">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 [...]
 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#1020-1022">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.</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/primitive_array.rs.html#1032-1034">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" [...]
 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#195-197">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;  [...]
-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#256-258">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#1376-1390">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 [...]
+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#256-258">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#1376-1390">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 [...]
     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#1320">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 d653e626f9..ebf691ece0 100644
--- a/arrow_array/array/primitive_array/type.Date32Array.html
+++ b/arrow_array/array/primitive_array/type.Date32Array.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 f2707e3e6d..709f626bcb 100644
--- a/arrow_array/array/primitive_array/type.Date64Array.html
+++ b/arrow_array/array/primitive_array/type.Date64Array.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 b9af5c9d3f..82ba644815 100644
--- a/arrow_array/array/primitive_array/type.Decimal128Array.html
+++ b/arrow_array/array/primitive_array/type.Decimal128Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 470dd915d7..1e7847fd78 100644
--- a/arrow_array/array/primitive_array/type.Decimal256Array.html
+++ b/arrow_array/array/primitive_array/type.Decimal256Array.html
@@ -12,8 +12,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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>
+}</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" [...]
 </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 0fc688146a..5aa399966b 100644
--- a/arrow_array/array/primitive_array/type.DurationMicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationMicrosecondArray.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 elapsed durations in microseconds"><title>DurationMicrosecondArray in arrow_array::array::primitive_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 64c1c0872c..163d7e9bc8 100644
--- a/arrow_array/array/primitive_array/type.DurationMillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationMillisecondArray.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 elapsed durations in milliseconds"><title>DurationMillisecondArray in arrow_array::array::primitive_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 7849d9ac6f..85fb6ecde7 100644
--- a/arrow_array/array/primitive_array/type.DurationNanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationNanosecondArray.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 elapsed durations in nanoseconds"><title>DurationNanosecondArray in arrow_array::array::primitive_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 54ae26588f..747ccbc94e 100644
--- a/arrow_array/array/primitive_array/type.DurationSecondArray.html
+++ b/arrow_array/array/primitive_array/type.DurationSecondArray.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 elapsed durations in seconds"><title>DurationSecondArray in arrow_array::array::primitive_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 637e709f89..7d39051d5a 100644
--- a/arrow_array/array/primitive_array/type.Float16Array.html
+++ b/arrow_array/array/primitive_array/type.Float16Array.html
@@ -15,8 +15,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.3.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: 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.3.1/half/binary16/s [...]
+}</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" [...]
 </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 742ab4da17..229634d461 100644
--- a/arrow_array/array/primitive_array/type.Float32Array.html
+++ b/arrow_array/array/primitive_array/type.Float32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 337d921cbe..7b01519973 100644
--- a/arrow_array/array/primitive_array/type.Float64Array.html
+++ b/arrow_array/array/primitive_array/type.Float64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 f82fbe7a67..7e781f50a1 100644
--- a/arrow_array/array/primitive_array/type.Int16Array.html
+++ b/arrow_array/array/primitive_array/type.Int16Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 74c5e6f43a..316a401b3b 100644
--- a/arrow_array/array/primitive_array/type.Int32Array.html
+++ b/arrow_array/array/primitive_array/type.Int32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 3477244fb1..3ae5de26de 100644
--- a/arrow_array/array/primitive_array/type.Int64Array.html
+++ b/arrow_array/array/primitive_array/type.Int64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 008a1b02bd..012bc1f3e6 100644
--- a/arrow_array/array/primitive_array/type.Int8Array.html
+++ b/arrow_array/array/primitive_array/type.Int8Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 2a6d99e3c8..17479a7574 100644
--- a/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalDayTimeArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 377acb5fe0..b8f7106364 100644
--- a/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalMonthDayNanoArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 edd44570cd..691adad321 100644
--- a/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html
+++ b/arrow_array/array/primitive_array/type.IntervalYearMonthArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 ca104abd8b..26ab2a2d7e 100644
--- a/arrow_array/array/primitive_array/type.Time32MillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time32MillisecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 cec106d797..fbaacdb699 100644
--- a/arrow_array/array/primitive_array/type.Time32SecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time32SecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 fe0bb11368..e04a4d8f6d 100644
--- a/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time64MicrosecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 39c596b475..9bdf00c969 100644
--- a/arrow_array/array/primitive_array/type.Time64NanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.Time64NanosecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 91b6d7496e..25870c93b4 100644
--- a/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampMicrosecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 4cf3a7bca2..3eab631fea 100644
--- a/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampMillisecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 25ebd298a5..1ecb5a0019 100644
--- a/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampNanosecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 5092f110ae..b6817d0962 100644
--- a/arrow_array/array/primitive_array/type.TimestampSecondArray.html
+++ b/arrow_array/array/primitive_array/type.TimestampSecondArray.html
@@ -2,7 +2,7 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 <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::Timestamp"><code>Timestamp</code></a>.</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>
 <h2 id="example-utc-timestamps-post-epoch"><a href="#example-utc-timestamps-post-epoch">Example: UTC timestamps post epoch</a></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
@@ -32,8 +32,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 0791d24673..ba16244d2f 100644
--- a/arrow_array/array/primitive_array/type.UInt16Array.html
+++ b/arrow_array/array/primitive_array/type.UInt16Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 7abcea9af1..2dc81fe788 100644
--- a/arrow_array/array/primitive_array/type.UInt32Array.html
+++ b/arrow_array/array/primitive_array/type.UInt32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 c706924ca4..efb704fa39 100644
--- a/arrow_array/array/primitive_array/type.UInt64Array.html
+++ b/arrow_array/array/primitive_array/type.UInt64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 31e4cc8267..debf9bf458 100644
--- a/arrow_array/array/primitive_array/type.UInt8Array.html
+++ b/arrow_array/array/primitive_array/type.UInt8Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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" [...]
 </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 d503532cff..655a3e066b 100644
--- a/arrow_array/array/run_array/struct.RunArray.html
+++ b/arrow_array/array/run_array/struct.RunArray.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 run-end encoded values"><title>RunArray in arrow_array::array::run_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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>
@@ -27,12 +27,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: 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="../. [...]
+</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 [...]
 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, ArrowError&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, <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)
 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"> [...]
@@ -58,7 +58,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;, ArrowError&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="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 [...]
     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
@@ -68,13 +68,13 @@ 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; ArrayData< [...]
+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=" [...]
 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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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=" [...]
 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#220-222">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#256-258">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#256-258">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 href="#example-1">Example:</a></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 705d3705e4..ec1315ed86 100644
--- a/arrow_array/array/run_array/struct.TypedRunArray.html
+++ b/arrow_array/array/run_array/struct.TypedRunArray.html
@@ -22,7 +22,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; ArrayData< [...]
+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=" [...]
 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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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#608-610">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=" [...]
diff --git a/arrow_array/array/run_array/type.Int16RunArray.html b/arrow_array/array/run_array/type.Int16RunArray.html
index 2567e658ee..6e35af05ca 100644
--- a/arrow_array/array/run_array/type.Int16RunArray.html
+++ b/arrow_array/array/run_array/type.Int16RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/run_array/type.Int32RunArray.html b/arrow_array/array/run_array/type.Int32RunArray.html
index f79d615fd9..3e14101f49 100644
--- a/arrow_array/array/run_array/type.Int32RunArray.html
+++ b/arrow_array/array/run_array/type.Int32RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/run_array/type.Int64RunArray.html b/arrow_array/array/run_array/type.Int64RunArray.html
index 9862910fe6..94e05c1441 100644
--- a/arrow_array/array/run_array/type.Int64RunArray.html
+++ b/arrow_array/array/run_array/type.Int64RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/string_array/type.GenericStringArray.html b/arrow_array/array/string_array/type.GenericStringArray.html
index a687b0771b..ba738b36e9 100644
--- a/arrow_array/array/string_array/type.GenericStringArray.html
+++ b/arrow_array/array/string_array/type.GenericStringArray.html
@@ -1,11 +1,11 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type= [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
 </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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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. [...]
 </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 href="#performance">Performance</a></h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -23,7 +23,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, 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 [...]
+) -&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> [...]
 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#242">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 016b07d50d..44b386bb1d 100644
--- a/arrow_array/array/string_array/type.LargeStringArray.html
+++ b/arrow_array/array/string_array/type.LargeStringArray.html
@@ -16,8 +16,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/string_array/type.StringArray.html b/arrow_array/array/string_array/type.StringArray.html
index b03c24a7e0..9b2d03c391 100644
--- a/arrow_array/array/string_array/type.StringArray.html
+++ b/arrow_array/array/string_array/type.StringArray.html
@@ -15,8 +15,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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/struct.BooleanArray.html b/arrow_array/array/struct.BooleanArray.html
index f431629414..1d2d9afdfe 100644
--- a/arrow_array/array/struct.BooleanArray.html
+++ b/arrow_array/array/struct.BooleanArray.html
@@ -73,13 +73,13 @@ 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; ArrayData</h4>< [...]
+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 [...]
 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.</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/boolean_array.rs.html#309-311">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 [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-BooleanArray" class="impl"><a href="#impl-RefUnwindSafe-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-la [...]
     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 d5a97eb91f..f9f1a79d1f 100644
--- a/arrow_array/array/struct.DictionaryArray.html
+++ b/arrow_array/array/struct.DictionaryArray.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 dictionary encoded values"><title>DictionaryArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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>,
     is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
@@ -57,7 +57,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: 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 [...]
+</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 [...]
 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>
@@ -71,7 +71,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, ArrowError&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, <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
 (indexes into the dictionary) and values (dictionary)
 array.</p>
 <h5 id="errors"><a href="#errors">Errors</a></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#359-361">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#364-366">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_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#364-366">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.len" class="method"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#369-371">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#374-376">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#379-381">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,14 +163,14 @@ 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#986-1005">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#691-693">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 [...]
+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#691-693">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 [...]
 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#719-721">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.</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#752-756">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= [...]
 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#220-222">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#256-258">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" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#571-615">source</a><a href="#method.from" 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'>Conv [...]
+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#256-258">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" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#571-615">source</a><a href="#method.from" 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" tit [...]
 <h4 id="example-2"><a href="#example-2">Example:</a></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 b4aec61656..bf014aef48 100644
--- a/arrow_array/array/struct.FixedSizeBinaryArray.html
+++ b/arrow_array/array/struct.FixedSizeBinaryArray.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 fixed size binary arrays"><title>FixedSizeBinaryArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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>,
@@ -23,14 +23,14 @@ 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: 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  [...]
+</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 [...]
 <h5 id="panics"><a href="#panics">Panics</a></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.try_new" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#77-105">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
     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, 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>
+) -&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">< [...]
 <h5 id="errors"><a href="#errors">Errors</a></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#189-191">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#194-209">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#236-307">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#236-307">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#333-384">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, ArrowError&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, <a class="enum" href="../../arrow_schema/error/enum.ArrowError.html" title="enum arrow_schema::error::ArrowError">ArrowError</a>&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 href="#errors-2">Errors</a></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#403-450">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 [...]
+</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#403-450">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 [...]
     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 href="#examples-3">Examples</a></h5>
@@ -115,13 +115,13 @@ 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#453-455">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#564-612">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#569-571">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 [...]
+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#569-571">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 [...]
 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#597-599">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.</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/fixed_size_binary_array.rs.html#609-611">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" [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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-4" class="method trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#502-538">source</a><a href="#method.from-4" 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#242">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-RefUnwindSafe-for-FixedSizeBinaryArray" class="impl"><a href="#impl-RefUnwindSafe-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="htt [...]
diff --git a/arrow_array/array/struct.FixedSizeListArray.html b/arrow_array/array/struct.FixedSizeListArray.html
index 1718f1bfb6..91fa30a97d 100644
--- a/arrow_array/array/struct.FixedSizeListArray.html
+++ b/arrow_array/array/struct.FixedSizeListArray.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 [fixed length lists], similar to JSON arrays (e.g. `[&quot;A&quot;, &quot;B&quot;]`)."><title>FixedSizeListArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
@@ -72,8 +72,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: 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,
+</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>,
     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;
@@ -81,11 +81,11 @@ are shown on the left, and the actual <code>FixedSizeListArray</code> encoding o
 <h5 id="panics"><a href="#panics">Panics</a></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-198">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
-    field: FieldRef,
+    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/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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <ul>
 <li><code>size &lt; 0</code></li>
@@ -93,16 +93,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#208-217">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 [...]
+</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#208-217">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 [...]
 <h5 id="panics-1"><a href="#panics-1">Panics</a></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#220-226">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.into_parts" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#220-226">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.values" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#229-231">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#234-236">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_type" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#234-236">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" class="method"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#239-242">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#248-250">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>
@@ -125,13 +125,13 @@ 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#330-332">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#368-420">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#373-375">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 [...]
+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#373-375">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 [...]
 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#401-403">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.</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/fixed_size_list_array.rs.html#413-419">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" c [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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#502-538">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#242">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-RefUnwindSafe-for-FixedSizeListArray" class="impl"><a href="#impl-RefUnwindSafe-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https: [...]
diff --git a/arrow_array/array/struct.GenericByteArray.html b/arrow_array/array/struct.GenericByteArray.html
index 3e94851eb0..2c9a89b257 100644
--- a/arrow_array/array/struct.GenericByteArray.html
+++ b/arrow_array/array/struct.GenericByteArray.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 variable length byte arrays"><title>GenericByteArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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;,
@@ -31,7 +31,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: 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><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><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 [...]
@@ -45,7 +45,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 href="#safety">Safety</a></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,
@@ -57,7 +57,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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <ul>
 <li><code>offsets.len() - 1 != nulls.len()</code></li>
@@ -98,7 +98,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 href="#performance">Performance</a></h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -116,16 +116,16 @@ 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, 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 [...]
+) -&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< [...]
 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; ArrayData</h4></se [...]
+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"  [...]
 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.</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/byte_array.rs.html#473-475">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">g [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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" class="method trait-impl"><a class="src ri [...]
     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-1" class="method trait-impl"><a class="src right [...]
     &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.GenericListArray.html b/arrow_array/array/struct.GenericListArray.html
index 9327f90b5b..b203c1f2eb 100644
--- a/arrow_array/array/struct.GenericListArray.html
+++ b/arrow_array/array/struct.GenericListArray.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 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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98ef [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     values: <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>,
     value_offsets: OffsetBuffer&lt;OffsetSize&gt;,
@@ -59,15 +59,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: 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 [...]
+</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 [...]
 The input is the schema of the child array and
-the output is the [<code>DataType</code>], List or LargeList.</p>
+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>
 </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: FieldRef,
+    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if</p>
 <ul>
@@ -77,22 +77,22 @@ the output is the [<code>DataType</code>], List or LargeList.</p>
 <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: FieldRef,
+    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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 href="#panics">Panics</a></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: 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.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.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; (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>
+) -&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 [...]
 </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; 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_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_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 href="#safety">Safety</a></h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -100,7 +100,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;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><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><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 [...]
@@ -115,14 +115,14 @@ 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; ArrayData</h4></se [...]
+</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"  [...]
 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.</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/list_array.rs.html#505-512">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">g [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-RefUnwindSafe-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt [...]
     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 926876fa95..c23cac4a4e 100644
--- a/arrow_array/array/struct.MapArray.html
+++ b/arrow_array/array/struct.MapArray.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 key-value maps"><title>MapArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../st [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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;,
@@ -9,15 +9,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: 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></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><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: FieldRef,
+    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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, 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>
+) -&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>
 <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 href="#errors">Errors</a></h5>
@@ -31,7 +31,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: FieldRef,
+    field: <a class="type" href="../../arrow_schema/field/type.FieldRef.html" title="type arrow_schema::field::FieldRef">FieldRef</a>,
     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;,
@@ -43,15 +43,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; (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 [...]
+) -&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 [...]
 </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;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.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.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 href="#safety">Safety</a></h5>
 <p>Caller must ensure that the index is within the array bounds</p>
@@ -61,19 +61,19 @@ 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, ArrowError&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, <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>
 </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; ArrayData</h4></sec [...]
+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 [...]
 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.</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/map_array.rs.html#392-399">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">ge [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-MapArray" class="impl"><a href="#impl-RefUnwindSafe-for-MapArray" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/ [...]
     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 b10b7f6b93..067ab4e80c 100644
--- a/arrow_array/array/struct.NullArray.html
+++ b/arrow_array/array/struct.NullArray.html
@@ -14,17 +14,17 @@
 <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 [<code>DataType</code>].</p>
+other <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></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/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#70-72">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 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-Array-for-NullArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/null_array.rs.html#75-127">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#80-82">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 [...]
+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#80-82">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 [...]
 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#108-110">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.</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#124-126">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">g [...]
 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#220-222">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#256-258">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#256-258">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#242">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-RefUnwindSafe-for-NullArray" class="impl"><a href="#impl-RefUnwindSafe-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org [...]
     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 e7f3a80e04..f30d8e33e6 100644
--- a/arrow_array/array/struct.PrimitiveArray.html
+++ b/arrow_array/array/struct.PrimitiveArray.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 primitive values"><title>PrimitiveArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
 }</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>
@@ -37,7 +37,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: 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></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><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 href="#panics">Panics</a></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>
@@ -54,7 +54,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, 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>
+) -&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></ [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if:</p>
 <ul>
@@ -63,18 +63,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; (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 [...]
+) -&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 [...]
 <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 href="#panics-1">Panics</a></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;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.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.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;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 [...]
+</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 [...]
 <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 [...]
@@ -200,13 +200,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, ArrowError&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, <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
 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#1408-1417">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>, ArrowError&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>, <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
 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#1421-1425">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>
@@ -214,14 +214,14 @@ 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#1433-1457">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#1460-1484">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#987-1035">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#992-994">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 [...]
+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#992-994">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 [...]
 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#1020-1022">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.</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/primitive_array.rs.html#1032-1034">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 [...]
 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#195-197">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 [...]
-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#256-258">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#1376-1390">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' [...]
+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#256-258">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#1376-1390">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 [...]
     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#1320">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 e7dd628635..b41d447c58 100644
--- a/arrow_array/array/struct.RunArray.html
+++ b/arrow_array/array/struct.RunArray.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 run-end encoded values"><title>RunArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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>
@@ -27,12 +27,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: 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 [...]
+</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=" [...]
 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, ArrowError&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, <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)
 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 [...]
@@ -58,7 +58,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;, ArrowError&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="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 [...]
     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
@@ -68,13 +68,13 @@ 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; ArrayData</h4></sec [...]
+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 [...]
 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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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">ge [...]
 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#220-222">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#256-258">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#256-258">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 href="#example-1">Example:</a></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 ee7ecae23e..6c401e8386 100644
--- a/arrow_array/array/struct.StructArray.html
+++ b/arrow_array/array/struct.StructArray.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="An array of structs"><title>StructArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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>
@@ -12,7 +12,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 [<code>Schema</code>][arrow_schema::Schema]</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="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>
@@ -45,18 +45,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: D [...]
-    fields: Fields,
+</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>,
     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 href="#panics">Panics</a></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: Fields,
+    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if</p>
 <ul>
@@ -66,9 +66,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: 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_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_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: Fields,
+    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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>
@@ -77,26 +77,26 @@ 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 href="#panics-1">Panics</a></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; (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.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.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;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.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.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; ArrayData</h4></ [...]
+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 [...]
 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.</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/struct_array.rs.html#388-395">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" [...]
 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#195-197">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 [...]
-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#256-258">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#256-258">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>
@@ -104,8 +104,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#242">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> = ArrowError</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details></div><h2 id=" [...]
+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 [...]
     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 c4b0360e42..7c885fe3d6 100644
--- a/arrow_array/array/struct.TypedDictionaryArray.html
+++ b/arrow_array/array/struct.TypedDictionaryArray.html
@@ -21,7 +21,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#808-818">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#815-817">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#820-872">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#825-827">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 [...]
+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#825-827">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 [...]
 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#853-855">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.</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#869-871">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= [...]
diff --git a/arrow_array/array/struct.TypedRunArray.html b/arrow_array/array/struct.TypedRunArray.html
index 19636102ed..ac84bfbbbb 100644
--- a/arrow_array/array/struct.TypedRunArray.html
+++ b/arrow_array/array/struct.TypedRunArray.html
@@ -22,7 +22,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; ArrayData</h4></sec [...]
+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 [...]
 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 [...]
 The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.</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#608-610">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">ge [...]
diff --git a/arrow_array/array/struct.UnionArray.html b/arrow_array/array/struct.UnionArray.html
index 9d5ffb2a9d..c0b4e81ac1 100644
--- a/arrow_array/array/struct.UnionArray.html
+++ b/arrow_array/array/struct.UnionArray.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 values of varying types"><title>UnionArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hre [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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;,
@@ -76,11 +76,11 @@ 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: 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 [...]
+</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 [...]
     field_type_ids: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>],
     type_ids: Buffer,
     value_offsets: <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;,
-    child_arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;(Field, <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;
+    child_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="struct" href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>, <a class="type" href="type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>UnionArray</code>.</p>
 <p>Accepts type ids, child arrays and optionally offsets (for dense unions) to create
 a new <code>UnionArray</code>.  This method makes no attempt to validate the data provided by the
@@ -103,8 +103,8 @@ to ensure that the data provided is valid.</p>
     field_type_ids: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>],
     type_ids: Buffer,
     value_offsets: <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;,
-    child_arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;(Field, <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, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
+    child_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="struct" href="../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>, <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>
 </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#231-234">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 href="#panics">Panics</a></h5>
 <p>Panics if the <code>type_id</code> provided is less than zero or greater than the number of types
@@ -130,12 +130,12 @@ 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#433-435">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#383-385">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#387-389">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 [...]
+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#387-389">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" [...]
 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#415-417">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.</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#449-461">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"> [...]
 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#195-197">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 [...]
+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#195-197">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 [...]
     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 fe9f71e44a..46d41f00d7 100644
--- a/arrow_array/array/struct_array/struct.StructArray.html
+++ b/arrow_array/array/struct_array/struct.StructArray.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="An array of structs"><title>StructArray in arrow_array::array::struct_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
     len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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>
@@ -12,7 +12,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 [<code>Schema</code>][arrow_schema::Schema]</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="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>
@@ -45,18 +45,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: D [...]
-    fields: Fields,
+</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>,
     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 href="#panics">Panics</a></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: Fields,
+    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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, 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>
+) -&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 [...]
 <h5 id="errors"><a href="#errors">Errors</a></h5>
 <p>Errors if</p>
 <ul>
@@ -66,9 +66,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: 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_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_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: Fields,
+    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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>
@@ -77,26 +77,26 @@ 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 href="#panics-1">Panics</a></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; (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.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.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;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.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.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; ArrayDa [...]
+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 [...]
 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.</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/struct_array.rs.html#388-395">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" clas [...]
 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#195-197">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;  [...]
-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#256-258">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#256-258">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>
@@ -104,8 +104,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#242">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> = ArrowError</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details></div><h2 id=" [...]
+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> [...]
     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 39ef294c89..a63d7d74f6 100644
--- a/arrow_array/array/trait.Array.html
+++ b/arrow_array/array/trait.Array.html
@@ -2,9 +2,9 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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; 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.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.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>;
@@ -35,10 +35,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#97">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#102">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>
+</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#97">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#102">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 [...]
 <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#116">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>
+</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#116">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  [...]
 <h5 id="example-1"><a href="#example-1">Example:</a></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};
@@ -148,5 +148,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-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#242">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><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#443-447">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" 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#242">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-dyn+Array" class="impl"><a class="src rightside" href="../../src/arrow_array/cast.rs.html#841">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#841">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#820-872">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 4bb6978b71..75446d9025 100644
--- a/arrow_array/array/type.ArrayRef.html
+++ b/arrow_array/array/type.ArrayRef.html
@@ -6,7 +6,7 @@
     alloc: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>,
 }</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.ptr" class="structfield section-header"><a href="#structfield.ptr" class="anchor field">§</a><code>ptr: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull">NonNull</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.ArcInner.html" title="str [...]
 </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#288-290">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#292-294">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>< [...]
+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#292-294">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=". [...]
 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#320-322">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 [...]
 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#336-338">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 [...]
diff --git a/arrow_array/array/type.BinaryArray.html b/arrow_array/array/type.BinaryArray.html
index 068aa637f5..1dff4579ed 100644
--- a/arrow_array/array/type.BinaryArray.html
+++ b/arrow_array/array/type.BinaryArray.html
@@ -31,8 +31,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.Date32Array.html b/arrow_array/array/type.Date32Array.html
index bd42272bb3..9660b47fd9 100644
--- a/arrow_array/array/type.Date32Array.html
+++ b/arrow_array/array/type.Date32Array.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 465d207798..742f79413a 100644
--- a/arrow_array/array/type.Date64Array.html
+++ b/arrow_array/array/type.Date64Array.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 4f081a54b7..2ab1a84802 100644
--- a/arrow_array/array/type.Decimal128Array.html
+++ b/arrow_array/array/type.Decimal128Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 a054059788..b4284357ee 100644
--- a/arrow_array/array/type.Decimal256Array.html
+++ b/arrow_array/array/type.Decimal256Array.html
@@ -12,8 +12,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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>
+}</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 [...]
 </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 5754835adc..871281ff2d 100644
--- a/arrow_array/array/type.DurationMicrosecondArray.html
+++ b/arrow_array/array/type.DurationMicrosecondArray.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 elapsed durations in microseconds"><title>DurationMicrosecondArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 DurationMicrosecondArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 3548214cc7..65c41f2327 100644
--- a/arrow_array/array/type.DurationMillisecondArray.html
+++ b/arrow_array/array/type.DurationMillisecondArray.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 elapsed durations in milliseconds"><title>DurationMillisecondArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 DurationMillisecondArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 4aa9713f2b..56780e1250 100644
--- a/arrow_array/array/type.DurationNanosecondArray.html
+++ b/arrow_array/array/type.DurationNanosecondArray.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 elapsed durations in nanoseconds"><title>DurationNanosecondArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" t [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 DurationNanosecondArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 fba8f4d309..ab2acf2cba 100644
--- a/arrow_array/array/type.DurationSecondArray.html
+++ b/arrow_array/array/type.DurationSecondArray.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 elapsed durations in seconds"><title>DurationSecondArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="fon [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 DurationSecondArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 be0135c4e8..d93947136d 100644
--- a/arrow_array/array/type.Float16Array.html
+++ b/arrow_array/array/type.Float16Array.html
@@ -15,8 +15,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     values: ScalarBuffer&lt;<a class="struct" href="https://docs.rs/half/2.3.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: 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.3.1/half/binary16/s [...]
+}</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 [...]
 </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 5978fbd359..0029cce12b 100644
--- a/arrow_array/array/type.Float32Array.html
+++ b/arrow_array/array/type.Float32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 f80b9feb78..9e49aae55f 100644
--- a/arrow_array/array/type.Float64Array.html
+++ b/arrow_array/array/type.Float64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 177923888f..2971afa4cb 100644
--- a/arrow_array/array/type.GenericBinaryArray.html
+++ b/arrow_array/array/type.GenericBinaryArray.html
@@ -1,11 +1,11 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" c [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 GenericBinaryArray&lt;OffsetSize&gt; {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 d5b9b35f99..e47f0e1af4 100644
--- a/arrow_array/array/type.GenericStringArray.html
+++ b/arrow_array/array/type.GenericStringArray.html
@@ -1,11 +1,11 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 GenericStringArray&lt;OffsetSize&gt; {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 href="#performance">Performance</a></h5>
 <p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
@@ -23,7 +23,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, 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 [...]
+) -&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< [...]
 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#242">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 c0fc7633c6..ddb48a9e65 100644
--- a/arrow_array/array/type.Int16Array.html
+++ b/arrow_array/array/type.Int16Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 51dec63bf6..b091f30b75 100644
--- a/arrow_array/array/type.Int16DictionaryArray.html
+++ b/arrow_array/array/type.Int16DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 849cb81e0a..d5b148b008 100644
--- a/arrow_array/array/type.Int16RunArray.html
+++ b/arrow_array/array/type.Int16RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.Int32Array.html b/arrow_array/array/type.Int32Array.html
index 50d0ef88b7..d7061ffd28 100644
--- a/arrow_array/array/type.Int32Array.html
+++ b/arrow_array/array/type.Int32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 3dffd9c779..ad27784f81 100644
--- a/arrow_array/array/type.Int32DictionaryArray.html
+++ b/arrow_array/array/type.Int32DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 569ffa12f8..5b6f4fc4fe 100644
--- a/arrow_array/array/type.Int32RunArray.html
+++ b/arrow_array/array/type.Int32RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.Int64Array.html b/arrow_array/array/type.Int64Array.html
index 4390de7136..1f50b3adbd 100644
--- a/arrow_array/array/type.Int64Array.html
+++ b/arrow_array/array/type.Int64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 e595be3f7c..130a24f086 100644
--- a/arrow_array/array/type.Int64DictionaryArray.html
+++ b/arrow_array/array/type.Int64DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 95faac3807..7ecaac6cc8 100644
--- a/arrow_array/array/type.Int64RunArray.html
+++ b/arrow_array/array/type.Int64RunArray.html
@@ -7,7 +7,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.Int8Array.html b/arrow_array/array/type.Int8Array.html
index bea9c1518d..b05c92e63b 100644
--- a/arrow_array/array/type.Int8Array.html
+++ b/arrow_array/array/type.Int8Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 883ea53f8a..b30232292b 100644
--- a/arrow_array/array/type.Int8DictionaryArray.html
+++ b/arrow_array/array/type.Int8DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 6cbae5ae80..8e325c78b2 100644
--- a/arrow_array/array/type.IntervalDayTimeArray.html
+++ b/arrow_array/array/type.IntervalDayTimeArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 f9f39ba27f..7ac7caa9e8 100644
--- a/arrow_array/array/type.IntervalMonthDayNanoArray.html
+++ b/arrow_array/array/type.IntervalMonthDayNanoArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 5135fa90f1..0ddb681c8e 100644
--- a/arrow_array/array/type.IntervalYearMonthArray.html
+++ b/arrow_array/array/type.IntervalYearMonthArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 88f575c230..eb9d199305 100644
--- a/arrow_array/array/type.LargeBinaryArray.html
+++ b/arrow_array/array/type.LargeBinaryArray.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 LargeBinaryArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.LargeListArray.html b/arrow_array/array/type.LargeListArray.html
index 83b5382477..7f3169d514 100644
--- a/arrow_array/array/type.LargeListArray.html
+++ b/arrow_array/array/type.LargeListArray.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 `GenericListArray` of variable size lists, storing offsets as `i64`."><title>LargeListArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 LargeListArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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: 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
+}</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
diff --git a/arrow_array/array/type.LargeStringArray.html b/arrow_array/array/type.LargeStringArray.html
index ebd91f8f87..752752168d 100644
--- a/arrow_array/array/type.LargeStringArray.html
+++ b/arrow_array/array/type.LargeStringArray.html
@@ -16,8 +16,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.ListArray.html b/arrow_array/array/type.ListArray.html
index e74df68f19..6d2b3fb7d8 100644
--- a/arrow_array/array/type.ListArray.html
+++ b/arrow_array/array/type.ListArray.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 `GenericListArray` of variable size lists, storing offsets as `i32`."><title>ListArray in arrow_array::array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></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 ListArray {
-    data_type: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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;,
     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: 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
+}</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
diff --git a/arrow_array/array/type.StringArray.html b/arrow_array/array/type.StringArray.html
index 9d68817c80..71758a7be9 100644
--- a/arrow_array/array/type.StringArray.html
+++ b/arrow_array/array/type.StringArray.html
@@ -15,8 +15,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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
+}</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
diff --git a/arrow_array/array/type.Time32MillisecondArray.html b/arrow_array/array/type.Time32MillisecondArray.html
index 110f49424b..1f0881cb99 100644
--- a/arrow_array/array/type.Time32MillisecondArray.html
+++ b/arrow_array/array/type.Time32MillisecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 13747dfafe..63743a42df 100644
--- a/arrow_array/array/type.Time32SecondArray.html
+++ b/arrow_array/array/type.Time32SecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 cc70e4befe..ed72f559d3 100644
--- a/arrow_array/array/type.Time64MicrosecondArray.html
+++ b/arrow_array/array/type.Time64MicrosecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 474d777460..cf969241a6 100644
--- a/arrow_array/array/type.Time64NanosecondArray.html
+++ b/arrow_array/array/type.Time64NanosecondArray.html
@@ -3,8 +3,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 f8b6166bf1..ed2aa1eb51 100644
--- a/arrow_array/array/type.TimestampMicrosecondArray.html
+++ b/arrow_array/array/type.TimestampMicrosecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 a83cb1cbc9..a8e07e5c75 100644
--- a/arrow_array/array/type.TimestampMillisecondArray.html
+++ b/arrow_array/array/type.TimestampMillisecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 b64b835dca..6884350fde 100644
--- a/arrow_array/array/type.TimestampNanosecondArray.html
+++ b/arrow_array/array/type.TimestampNanosecondArray.html
@@ -2,8 +2,8 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 fd890eddca..2392ecc60f 100644
--- a/arrow_array/array/type.TimestampSecondArray.html
+++ b/arrow_array/array/type.TimestampSecondArray.html
@@ -2,7 +2,7 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <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::Timestamp"><code>Timestamp</code></a>.</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>
 <h2 id="example-utc-timestamps-post-epoch"><a href="#example-utc-timestamps-post-epoch">Example: UTC timestamps post epoch</a></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
@@ -32,8 +32,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 751141f135..0fe10287dc 100644
--- a/arrow_array/array/type.UInt16Array.html
+++ b/arrow_array/array/type.UInt16Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 b3219cb460..3223ec207c 100644
--- a/arrow_array/array/type.UInt16DictionaryArray.html
+++ b/arrow_array/array/type.UInt16DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 cbc9157988..f44efb85e1 100644
--- a/arrow_array/array/type.UInt32Array.html
+++ b/arrow_array/array/type.UInt32Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 2b8a71d70c..e13f2a0bad 100644
--- a/arrow_array/array/type.UInt32DictionaryArray.html
+++ b/arrow_array/array/type.UInt32DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 de432f402a..0198cc0574 100644
--- a/arrow_array/array/type.UInt64Array.html
+++ b/arrow_array/array/type.UInt64Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 b93d670a08..374db7eb4c 100644
--- a/arrow_array/array/type.UInt64DictionaryArray.html
+++ b/arrow_array/array/type.UInt64DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 3e36c1de70..2a54f62fdc 100644
--- a/arrow_array/array/type.UInt8Array.html
+++ b/arrow_array/array/type.UInt8Array.html
@@ -11,8 +11,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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 [...]
+}</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 [...]
 </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 d9dece7bb7..7f87f52f2d 100644
--- a/arrow_array/array/type.UInt8DictionaryArray.html
+++ b/arrow_array/array/type.UInt8DictionaryArray.html
@@ -8,11 +8,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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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_ [...]
+}</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= [...]
 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 c817b8acfb..6720708265 100644
--- a/arrow_array/array/union_array/struct.UnionArray.html
+++ b/arrow_array/array/union_array/struct.UnionArray.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 values of varying types"><title>UnionArray in arrow_array::array::union_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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;,
@@ -76,11 +76,11 @@ 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: 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 [...]
+</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 [...]
     field_type_ids: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>],
     type_ids: Buffer,
     value_offsets: <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;,
-    child_arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;(Field, <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;
+    child_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="struct" href="../../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>, <a class="type" href="../type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>)&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>UnionArray</code>.</p>
 <p>Accepts type ids, child arrays and optionally offsets (for dense unions) to create
 a new <code>UnionArray</code>.  This method makes no attempt to validate the data provided by the
@@ -103,8 +103,8 @@ to ensure that the data provided is valid.</p>
     field_type_ids: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>],
     type_ids: Buffer,
     value_offsets: <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;,
-    child_arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;(Field, <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, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
+    child_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="struct" href="../../../arrow_schema/field/struct.Field.html" title="struct arrow_schema::field::Field">Field</a>, <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>
 </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#231-234">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 href="#panics">Panics</a></h5>
 <p>Panics if the <code>type_id</code> provided is less than zero or greater than the number of types
@@ -130,12 +130,12 @@ 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#433-435">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#383-385">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#387-389">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 [...]
+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#387-389">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 [...]
 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#415-417">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.</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#449-461">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 [...]
 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#195-197">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;  [...]
+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#195-197">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;  [...]
     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 14574fd0b0..247fe11814 100644
--- a/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html
+++ b/arrow_array/builder/boolean_builder/struct.BooleanBuilder.html
@@ -40,7 +40,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>, 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>
+) -&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 [...]
 <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 12aac1a5e1..02f1421020 100644
--- a/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html
+++ b/arrow_array/builder/fixed_size_binary_builder/struct.FixedSizeBinaryBuilder.html
@@ -21,7 +21,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>, ArrowError&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>, <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>
 <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/fn.make_builder.html b/arrow_array/builder/fn.make_builder.html
index c1a29cc681..1a9e578575 100644
--- a/arrow_array/builder/fn.make_builder.html
+++ b/arrow_array/builder/fn.make_builder.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="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><link rel="preload" as="font" type="font/wof [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    datatype: &amp;DataType,
+    datatype: &amp;<a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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 14305d2e59..9db5188996 100644
--- a/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html
+++ b/arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDictionaryBuilder.html
@@ -27,7 +27,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, ArrowError&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, <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
 which is initialized with the given values.
 The indices of those dictionary values are used as keys.</p>
 <h5 id="example"><a href="#example">Example</a></h5>
@@ -49,7 +49,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>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Append a value to the array. Return an existing index
+) -&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 [...]
 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/index.html b/arrow_array/builder/index.html
index e167547a74..d5c55edd2c 100644
--- a/arrow_array/builder/index.html
+++ b/arrow_array/builder/index.html
@@ -104,6 +104,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"><a href="#modules">Modules</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="Restricted Visib [...]
+</div></details><h2 id="modules" class="section-header"><a href="#modules">Modules</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="Restricted Visib [...]
 This function is useful to construct arrays from an arbitrary vectors with known/expected
 schema.</div></li></ul><h2 id="types" class="section-header"><a href="#types">Type Aliases</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 class="item-name"> [...]
\ 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 556fd7bb72..17c87dd488 100644
--- a/arrow_array/builder/map_builder/index.html
+++ b/arrow_array/builder/map_builder/index.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="API documentation for the Rust `map_builder` mod in crate `arrow_array`."><title>arrow_array::builder::map_builder - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
\ No newline at end of file
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
\ 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 4cf0a23b34..d3ba1cf59f 100644
--- a/arrow_array/builder/map_builder/struct.MapBuilder.html
+++ b/arrow_array/builder/map_builder/struct.MapBuilder.html
@@ -45,7 +45,7 @@ builder.append(<span class="bool-val">false</span>).unwrap();
 </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#113-115">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#118-120">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#123-125">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#131-142">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#131-142">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#145-155">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#158-166">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 556c26d501..652f45fbb9 100644
--- a/arrow_array/builder/map_builder/struct.MapFieldNames.html
+++ b/arrow_array/builder/map_builder/struct.MapFieldNames.html
@@ -3,10 +3,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 [<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>
+}</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>
 </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#67">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 b7acd4342a..a576b6b4f4 100644
--- a/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html
+++ b/arrow_array/builder/primitive_builder/struct.PrimitiveBuilder.html
@@ -2,18 +2,18 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
     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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
 }</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: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>By default <a href="struct.PrimitiveBuilder.html" title="struct arrow_array::builde [...]
+</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 [...]
 data type of the generated array.</p>
 <p>This method allows overriding the data type, to allow specifying timezones
-for [<code>DataType::Timestamp</code>] or precision and scale for [<code>DataType::Decimal128</code>] and [<code>DataType::Decimal256</code>]</p>
+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 [...]
 <h5 id="panics"><a href="#panics">Panics</a></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 [...]
@@ -43,7 +43,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, ArrowError&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, <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>
 </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 f18a23ec52..03762a5389 100644
--- a/arrow_array/builder/primitive_builder/type.Date32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Date32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Date64Builder.html b/arrow_array/builder/primitive_builder/type.Date64Builder.html
index 98574cf315..9efdc30b9f 100644
--- a/arrow_array/builder/primitive_builder/type.Date64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Date64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Decimal128Builder.html b/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
index f7c6a3dafe..83d78304a3 100644
--- a/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Decimal128Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Decimal256Builder.html b/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
index e840320186..bb60a56be4 100644
--- a/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Decimal256Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
index 5a4463e90a..ee38ef5bbd 100644
--- a/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationMicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
index 046b1ee7f8..d8bd471b3c 100644
--- a/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationMillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
index 364ea09f83..6c7d36a59f 100644
--- a/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationNanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html b/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
index 02d78797bb..dfb8728f93 100644
--- a/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.DurationSecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Float16Builder.html b/arrow_array/builder/primitive_builder/type.Float16Builder.html
index e60cb9ab70..5a822f3f20 100644
--- a/arrow_array/builder/primitive_builder/type.Float16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float16Builder.html
@@ -3,5 +3,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.3.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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.3.1/half/binary16/struct.f16.html" title="struct ha [...]
\ No newline at end of file
+    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.3.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 1176843c42..e73164e956 100644
--- a/arrow_array/builder/primitive_builder/type.Float32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Float64Builder.html b/arrow_array/builder/primitive_builder/type.Float64Builder.html
index bf0df8beac..4287469bed 100644
--- a/arrow_array/builder/primitive_builder/type.Float64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Float64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Int16Builder.html b/arrow_array/builder/primitive_builder/type.Int16Builder.html
index aad041fac1..e62a7ba1b4 100644
--- a/arrow_array/builder/primitive_builder/type.Int16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int16Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Int32Builder.html b/arrow_array/builder/primitive_builder/type.Int32Builder.html
index 25d607ff14..d04ed4e162 100644
--- a/arrow_array/builder/primitive_builder/type.Int32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Int64Builder.html b/arrow_array/builder/primitive_builder/type.Int64Builder.html
index 4419d1a95a..86c34782c6 100644
--- a/arrow_array/builder/primitive_builder/type.Int64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Int8Builder.html b/arrow_array/builder/primitive_builder/type.Int8Builder.html
index b3ca67c281..0fd428b03c 100644
--- a/arrow_array/builder/primitive_builder/type.Int8Builder.html
+++ b/arrow_array/builder/primitive_builder/type.Int8Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
index 059748d0bd..b8cb19769d 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalDayTimeBuilder.html
@@ -3,5 +3,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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
index e86a9a4089..721a41e9e6 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalMonthDayNanoBuilder.html
@@ -3,5 +3,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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html b/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
index 684df5c893..d1d3fc244f 100644
--- a/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.IntervalYearMonthBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
index 29eef344cd..522e233997 100644
--- a/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time32MillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
index ada1f3fc85..9c196e7a1d 100644
--- a/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time32SecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
index 0f84e91943..3297a6464a 100644
--- a/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time64MicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
index f6d810e7ed..dc62fe7d9e 100644
--- a/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.Time64NanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
index ac3a746cba..b61b3a2fc6 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampMicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
index 2a1d09f017..2838883bb1 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampMillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
index fa72043e09..006d2502b7 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampNanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html b/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
index 766d1d22cc..ed0d86a2b9 100644
--- a/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
+++ b/arrow_array/builder/primitive_builder/type.TimestampSecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.UInt16Builder.html b/arrow_array/builder/primitive_builder/type.UInt16Builder.html
index 3acd923feb..f3187bd992 100644
--- a/arrow_array/builder/primitive_builder/type.UInt16Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt16Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.UInt32Builder.html b/arrow_array/builder/primitive_builder/type.UInt32Builder.html
index f57fa0b296..2309ceb2fc 100644
--- a/arrow_array/builder/primitive_builder/type.UInt32Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.UInt64Builder.html b/arrow_array/builder/primitive_builder/type.UInt64Builder.html
index 0c358c12c9..15483a2a08 100644
--- a/arrow_array/builder/primitive_builder/type.UInt64Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_builder/type.UInt8Builder.html b/arrow_array/builder/primitive_builder/type.UInt8Builder.html
index 3873402f0f..6df347f6f8 100644
--- a/arrow_array/builder/primitive_builder/type.UInt8Builder.html
+++ b/arrow_array/builder/primitive_builder/type.UInt8Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html b/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
index 0c6bcc4270..70ef790639 100644
--- a/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
+++ b/arrow_array/builder/primitive_dictionary_builder/struct.PrimitiveDictionaryBuilder.html
@@ -50,7 +50,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-305">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 c6941e269e..a8a12d5cd6 100644
--- a/arrow_array/builder/struct.BooleanBuilder.html
+++ b/arrow_array/builder/struct.BooleanBuilder.html
@@ -40,7 +40,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>, 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>
+) -&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  [...]
 <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 40fae252e9..16db484525 100644
--- a/arrow_array/builder/struct.FixedSizeBinaryBuilder.html
+++ b/arrow_array/builder/struct.FixedSizeBinaryBuilder.html
@@ -21,7 +21,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>, ArrowError&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>, <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>
 <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.GenericByteDictionaryBuilder.html b/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
index 91c643b42c..d643c50432 100644
--- a/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
+++ b/arrow_array/builder/struct.GenericByteDictionaryBuilder.html
@@ -27,7 +27,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, ArrowError&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, <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
 which is initialized with the given values.
 The indices of those dictionary values are used as keys.</p>
 <h5 id="example"><a href="#example">Example</a></h5>
@@ -49,7 +49,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>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Append a value to the array. Return an existing index
+) -&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 [...]
 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.MapBuilder.html b/arrow_array/builder/struct.MapBuilder.html
index 85a837f6f0..9176d70da8 100644
--- a/arrow_array/builder/struct.MapBuilder.html
+++ b/arrow_array/builder/struct.MapBuilder.html
@@ -45,7 +45,7 @@ builder.append(<span class="bool-val">false</span>).unwrap();
 </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#113-115">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#118-120">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#123-125">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#131-142">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#131-142">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#145-155">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#158-166">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 dc8db12889..aaa64c3b2c 100644
--- a/arrow_array/builder/struct.MapFieldNames.html
+++ b/arrow_array/builder/struct.MapFieldNames.html
@@ -3,10 +3,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 [<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>
+}</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>
 </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#67">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 fa12f72994..65a1dbbf09 100644
--- a/arrow_array/builder/struct.PrimitiveBuilder.html
+++ b/arrow_array/builder/struct.PrimitiveBuilder.html
@@ -2,18 +2,18 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     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: DataType,
+    data_type: <a class="enum" href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
 }</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: DataType) -&gt; Self</h4></section></summary><div class="docblock"><p>By default <a href="primitive_builder/struct.PrimitiveBuilder.html" title="struct arro [...]
+</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>< [...]
 data type of the generated array.</p>
 <p>This method allows overriding the data type, to allow specifying timezones
-for [<code>DataType::Timestamp</code>] or precision and scale for [<code>DataType::Decimal128</code>] and [<code>DataType::Decimal256</code>]</p>
+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 [...]
 <h5 id="panics"><a href="#panics">Panics</a></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 [...]
@@ -43,7 +43,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, ArrowError&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, <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>
 </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 b681ab2fed..8b5bbfc849 100644
--- a/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html
+++ b/arrow_array/builder/struct.PrimitiveDictionaryBuilder.html
@@ -50,7 +50,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-305">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 8673ab36db..de9875244a 100644
--- a/arrow_array/builder/struct.StructBuilder.html
+++ b/arrow_array/builder/struct.StructBuilder.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="Builder for `StructArray`"><title>StructBuilder in arrow_array::builder - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    fields: Fields,
+    fields: <a class="struct" href="../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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>
 <p>Note that callers should make sure that methods of all the child field builders are
 properly called to maintain the consistency of the data structure.</p>
-</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;,
+</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;,
     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#214-221">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.from_fields" class="method"><a class="src rightside" href="../../src/arrow_array/builder/struct_builder.rs.html#214-221">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.field_builder" class="method"><a class="src rightside" href="../../src/arrow_array/builder/struct_builder.rs.html#226-228">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 99a86c514e..651249e1ac 100644
--- a/arrow_array/builder/struct.UnionBuilder.html
+++ b/arrow_array/builder/struct.UnionBuilder.html
@@ -49,7 +49,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#194-199">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>, ArrowError&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>, <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
 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
@@ -59,12 +59,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>, ArrowError&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>, <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>
 </div></details><section id="method.append_option" class="method"><a class="src rightside" href="../../src/arrow_array/builder/union_builder.rs.html#211-274">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>, 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#277-312">source</a><h4 class="code-header">pub fn  [...]
+) -&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 [...]
 </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#140">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 5c1eaa1a1e..ce87ed22d6 100644
--- a/arrow_array/builder/struct_builder/fn.make_builder.html
+++ b/arrow_array/builder/struct_builder/fn.make_builder.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="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><link rel="preload" as="font [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    datatype: &amp;DataType,
+    datatype: &amp;<a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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 56c20315cd..4f298efeaf 100644
--- a/arrow_array/builder/struct_builder/struct.StructBuilder.html
+++ b/arrow_array/builder/struct_builder/struct.StructBuilder.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="Builder for `StructArray`"><title>StructBuilder in arrow_array::builder::struct_builder - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" c [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
-    fields: Fields,
+    fields: <a class="struct" href="../../../arrow_schema/fields/struct.Fields.html" title="struct arrow_schema::fields::Fields">Fields</a>,
     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>
 <p>Note that callers should make sure that methods of all the child field builders are
 properly called to maintain the consistency of the data structure.</p>
-</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;,
+</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;,
     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#214-221">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.from_fields" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/struct_builder.rs.html#214-221">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.field_builder" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/struct_builder.rs.html#226-228">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 2d9dd4dc02..74c6113de1 100644
--- a/arrow_array/builder/type.Date32Builder.html
+++ b/arrow_array/builder/type.Date32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Date64Builder.html b/arrow_array/builder/type.Date64Builder.html
index 017091dfe1..029735d915 100644
--- a/arrow_array/builder/type.Date64Builder.html
+++ b/arrow_array/builder/type.Date64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Decimal128Builder.html b/arrow_array/builder/type.Decimal128Builder.html
index 1fced10e47..ff30b1389a 100644
--- a/arrow_array/builder/type.Decimal128Builder.html
+++ b/arrow_array/builder/type.Decimal128Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Decimal256Builder.html b/arrow_array/builder/type.Decimal256Builder.html
index 19da18cc48..6b5858a0ee 100644
--- a/arrow_array/builder/type.Decimal256Builder.html
+++ b/arrow_array/builder/type.Decimal256Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.DurationMicrosecondBuilder.html b/arrow_array/builder/type.DurationMicrosecondBuilder.html
index 0bee317f73..f382e00120 100644
--- a/arrow_array/builder/type.DurationMicrosecondBuilder.html
+++ b/arrow_array/builder/type.DurationMicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.DurationMillisecondBuilder.html b/arrow_array/builder/type.DurationMillisecondBuilder.html
index 7d1de14d48..c20f545984 100644
--- a/arrow_array/builder/type.DurationMillisecondBuilder.html
+++ b/arrow_array/builder/type.DurationMillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.DurationNanosecondBuilder.html b/arrow_array/builder/type.DurationNanosecondBuilder.html
index 6d275729ca..ac2e7e681a 100644
--- a/arrow_array/builder/type.DurationNanosecondBuilder.html
+++ b/arrow_array/builder/type.DurationNanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.DurationSecondBuilder.html b/arrow_array/builder/type.DurationSecondBuilder.html
index 80cd8fc85b..c2438c3ef0 100644
--- a/arrow_array/builder/type.DurationSecondBuilder.html
+++ b/arrow_array/builder/type.DurationSecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Float16Builder.html b/arrow_array/builder/type.Float16Builder.html
index 362374ed58..83bec855e7 100644
--- a/arrow_array/builder/type.Float16Builder.html
+++ b/arrow_array/builder/type.Float16Builder.html
@@ -3,5 +3,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.3.1/half/binary16/struct.f16.html" title="struct half::binary16::f16">f16</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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.3.1/half/binary16/struct.f16.html" title="struct half: [...]
\ No newline at end of file
+    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.3.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 1e55fb321c..c8d65b7c01 100644
--- a/arrow_array/builder/type.Float32Builder.html
+++ b/arrow_array/builder/type.Float32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Float64Builder.html b/arrow_array/builder/type.Float64Builder.html
index b9ad0f99ed..fe052d0227 100644
--- a/arrow_array/builder/type.Float64Builder.html
+++ b/arrow_array/builder/type.Float64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Int16Builder.html b/arrow_array/builder/type.Int16Builder.html
index a63e145e60..d980feb2e2 100644
--- a/arrow_array/builder/type.Int16Builder.html
+++ b/arrow_array/builder/type.Int16Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Int32Builder.html b/arrow_array/builder/type.Int32Builder.html
index dc65ebbafc..970a107380 100644
--- a/arrow_array/builder/type.Int32Builder.html
+++ b/arrow_array/builder/type.Int32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Int64Builder.html b/arrow_array/builder/type.Int64Builder.html
index 32ef4e4337..17ca95d876 100644
--- a/arrow_array/builder/type.Int64Builder.html
+++ b/arrow_array/builder/type.Int64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Int8Builder.html b/arrow_array/builder/type.Int8Builder.html
index 2fac815cb8..cc21de4d7a 100644
--- a/arrow_array/builder/type.Int8Builder.html
+++ b/arrow_array/builder/type.Int8Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.IntervalDayTimeBuilder.html b/arrow_array/builder/type.IntervalDayTimeBuilder.html
index 341dd1d3fe..e4aa7ac1b7 100644
--- a/arrow_array/builder/type.IntervalDayTimeBuilder.html
+++ b/arrow_array/builder/type.IntervalDayTimeBuilder.html
@@ -3,5 +3,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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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
+    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
diff --git a/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html b/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
index b270896e01..f87e19223f 100644
--- a/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
+++ b/arrow_array/builder/type.IntervalMonthDayNanoBuilder.html
@@ -3,5 +3,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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>&gt;,
     null_buffer_builder: NullBufferBuilder,
-    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
+    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
diff --git a/arrow_array/builder/type.IntervalYearMonthBuilder.html b/arrow_array/builder/type.IntervalYearMonthBuilder.html
index a56cb10110..ffe406f047 100644
--- a/arrow_array/builder/type.IntervalYearMonthBuilder.html
+++ b/arrow_array/builder/type.IntervalYearMonthBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Time32MillisecondBuilder.html b/arrow_array/builder/type.Time32MillisecondBuilder.html
index d769ae4ce1..583f5f9eff 100644
--- a/arrow_array/builder/type.Time32MillisecondBuilder.html
+++ b/arrow_array/builder/type.Time32MillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Time32SecondBuilder.html b/arrow_array/builder/type.Time32SecondBuilder.html
index 6c24ba37e0..f4620c113b 100644
--- a/arrow_array/builder/type.Time32SecondBuilder.html
+++ b/arrow_array/builder/type.Time32SecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Time64MicrosecondBuilder.html b/arrow_array/builder/type.Time64MicrosecondBuilder.html
index c6747d60ba..297b41b869 100644
--- a/arrow_array/builder/type.Time64MicrosecondBuilder.html
+++ b/arrow_array/builder/type.Time64MicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.Time64NanosecondBuilder.html b/arrow_array/builder/type.Time64NanosecondBuilder.html
index 2aade33332..3fedb979f7 100644
--- a/arrow_array/builder/type.Time64NanosecondBuilder.html
+++ b/arrow_array/builder/type.Time64NanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.TimestampMicrosecondBuilder.html b/arrow_array/builder/type.TimestampMicrosecondBuilder.html
index 4ef194f4ab..deb0a4b478 100644
--- a/arrow_array/builder/type.TimestampMicrosecondBuilder.html
+++ b/arrow_array/builder/type.TimestampMicrosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.TimestampMillisecondBuilder.html b/arrow_array/builder/type.TimestampMillisecondBuilder.html
index 0c4810a49c..e35e301952 100644
--- a/arrow_array/builder/type.TimestampMillisecondBuilder.html
+++ b/arrow_array/builder/type.TimestampMillisecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.TimestampNanosecondBuilder.html b/arrow_array/builder/type.TimestampNanosecondBuilder.html
index 81317ff62e..b8c5197096 100644
--- a/arrow_array/builder/type.TimestampNanosecondBuilder.html
+++ b/arrow_array/builder/type.TimestampNanosecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.TimestampSecondBuilder.html b/arrow_array/builder/type.TimestampSecondBuilder.html
index 931393a70a..af6ffd2649 100644
--- a/arrow_array/builder/type.TimestampSecondBuilder.html
+++ b/arrow_array/builder/type.TimestampSecondBuilder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.UInt16Builder.html b/arrow_array/builder/type.UInt16Builder.html
index ae817d1a7e..fe13608ea7 100644
--- a/arrow_array/builder/type.UInt16Builder.html
+++ b/arrow_array/builder/type.UInt16Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.UInt32Builder.html b/arrow_array/builder/type.UInt32Builder.html
index a2e09c7cd9..a29f9da17e 100644
--- a/arrow_array/builder/type.UInt32Builder.html
+++ b/arrow_array/builder/type.UInt32Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.UInt64Builder.html b/arrow_array/builder/type.UInt64Builder.html
index 79d6cf80f4..bfcef181be 100644
--- a/arrow_array/builder/type.UInt64Builder.html
+++ b/arrow_array/builder/type.UInt64Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/type.UInt8Builder.html b/arrow_array/builder/type.UInt8Builder.html
index 711240682a..a90fa4a956 100644
--- a/arrow_array/builder/type.UInt8Builder.html
+++ b/arrow_array/builder/type.UInt8Builder.html
@@ -3,5 +3,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: 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
+    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
diff --git a/arrow_array/builder/union_builder/struct.FieldData.html b/arrow_array/builder/union_builder/struct.FieldData.html
index a2a93ea4fa..daa6e9b024 100644
--- a/arrow_array/builder/union_builder/struct.FieldData.html
+++ b/arrow_array/builder/union_builder/struct.FieldData.html
@@ -1,19 +1,19 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a>< [...]
     type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
-    data_type: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</a>,
     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: 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.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.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#66-96">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: DataType,
+    data_type: <a class="enum" href="../../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType">DataType</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 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#79-88">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 26ca01ef91..213a095e71 100644
--- a/arrow_array/builder/union_builder/struct.UnionBuilder.html
+++ b/arrow_array/builder/union_builder/struct.UnionBuilder.html
@@ -49,7 +49,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#194-199">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>, ArrowError&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>, <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
 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
@@ -59,12 +59,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>, ArrowError&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>, <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>
 </div></details><section id="method.append_option" class="method"><a class="src rightside" href="../../../src/arrow_array/builder/union_builder.rs.html#211-274">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>, 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#277-312">source</a><h4 class="code-header">pub  [...]
+) -&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 [...]
 </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#140">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 30cd1ed691..215e24257a 100644
--- a/arrow_array/cast/fn.downcast_array.html
+++ b/arrow_array/cast/fn.downcast_array.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="Downcasts a `dyn Array` to a concrete type"><title>downcast_array in arrow_array::cast - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    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>
+    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>
 
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>ConcreteBatch {
     col1: Int32Array,
diff --git a/arrow_array/index.html b/arrow_array/index.html
index b346a02733..df2e2cc92e 100644
--- a/arrow_array/index.html
+++ b/arrow_array/index.html
@@ -108,16 +108,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"><a href="#reexports">Re-exports</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"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="arithmetic/index.html" title="mod arrow_array::arithmetic">arithmetic</a><span [...]
-<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 [...]
+<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 [...]
 accepts a number of subsequent patterns to match the data type</div></li></ul><h2 id="structs" class="section-header"><a href="#structs">Structs</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">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="../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="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"><a href="#traits">Traits</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 a66c529bc6..6829f59f97 100644
--- a/arrow_array/macro.downcast_dictionary_array.html
+++ b/arrow_array/macro.downcast_dictionary_array.html
@@ -2,7 +2,7 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     (<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"><code>DataType</code></a>, accepts
+}</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 [...]
 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 cec0c19287..690db2b99a 100644
--- a/arrow_array/macro.downcast_integer.html
+++ b/arrow_array/macro.downcast_integer.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="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><link rel="preload" as="font" type="font/woff2" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     ($(<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"><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/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</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 9893e5abda..66156ebe35 100644
--- a/arrow_array/macro.downcast_primitive.html
+++ b/arrow_array/macro.downcast_primitive.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="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><link rel="preload" as="font" type="font/woff2" crosso [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     ($(<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"><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/enum.DataType.html" title="enum arrow_schema::datatype::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 291f4f3c4e..178287f1c7 100644
--- a/arrow_array/macro.downcast_primitive_array.html
+++ b/arrow_array/macro.downcast_primitive_array.html
@@ -4,7 +4,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"><code>DataType</code></a>
+}</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 [...]
 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 b359f3fd26..a3e34b0ce7 100644
--- a/arrow_array/macro.downcast_run_array.html
+++ b/arrow_array/macro.downcast_run_array.html
@@ -2,7 +2,7 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     (<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"><code>DataType</code></a>, accepts
+}</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 [...]
 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 88ea18b5e6..0b5c199577 100644
--- a/arrow_array/macro.downcast_run_end_index.html
+++ b/arrow_array/macro.downcast_run_end_index.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="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><link rel="preload" as="font" type="font/wof [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     ($(<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"><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/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</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 fb392d4f80..d062b58c41 100644
--- a/arrow_array/macro.downcast_temporal.html
+++ b/arrow_array/macro.downcast_temporal.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="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><link rel="preload" as="font" type="font/woff2" crossor [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     ($(<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"><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/enum.DataType.html" title="enum arrow_schema::datatype::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 d361aa48c7..eba32dd837 100644
--- a/arrow_array/macro.downcast_temporal_array.html
+++ b/arrow_array/macro.downcast_temporal_array.html
@@ -4,7 +4,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"><code>DataType</code></a>
+}</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 [...]
 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 29acbe27d4..52e78a3e60 100644
--- a/arrow_array/record_batch/index.html
+++ b/arrow_array/record_batch/index.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 two-dimensional batch of column-oriented data with a defined schema."><title>arrow_array::record_batch - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type= [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-<a href="arrow_schema::Schema">schema</a>.</p>
+<a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">schema</a>.</p>
 </div></details><h2 id="structs" class="section-header"><a href="#structs">Structs</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">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
+<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
diff --git a/arrow_array/record_batch/struct.RecordBatch.html b/arrow_array/record_batch/struct.RecordBatch.html
index b7ecbdb77c..624c3779bd 100644
--- a/arrow_array/record_batch/struct.RecordBatch.html
+++ b/arrow_array/record_batch/struct.RecordBatch.html
@@ -1,22 +1,22 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload"  [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    schema: SchemaRef,
+    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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">schema</a>.</p>
+<a href="../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::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: 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"  [...]
+</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 [...]
 <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-473">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: SchemaRef,
+    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, ArrowError&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, <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>
 <p>Expects the following:</p>
 <ul>
 <li>the vec of columns to not be empty</li>
@@ -37,24 +37,24 @@ 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: SchemaRef,
+    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, ArrowError&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, <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,
 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: 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.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.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: SchemaRef,
+    schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, 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
+) -&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 [...]
 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: 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 [...]
+</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 [...]
 <p>Returns an error if <code>schema</code> is not a superset of the current schema
-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.project" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#240-263">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 <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.project" class="method"><a class="src rightside" href="../../src/arrow_array/record_batch.rs.html#240-263">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#283-285">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 href="#example-1">Example</a></h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -106,7 +106,7 @@ as determined by [<code>Schema::contains</code>]</p>
 according to <code>offset</code> and <code>length</code></p>
 <h5 id="panics-2"><a href="#panics-2">Panics</a></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#409-423">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 [...]
+</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#409-423">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= [...]
     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#446-464">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#446-464">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 92b30802b8..ce324df5e0 100644
--- a/arrow_array/record_batch/struct.RecordBatchIterator.html
+++ b/arrow_array/record_batch/struct.RecordBatchIterator.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="Generic implementation of RecordBatchReader that wraps an iterator."><title>RecordBatchIterator in arrow_array::record_batch - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prel [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    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>{
+    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/ [...]
     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: SchemaRef,
+    inner_schema: <a class="type" href="../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
 }</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 href="#example">Example</a></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>]));
@@ -19,11 +19,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>, ArrowError&gt;&gt;,</div></h3></section>< [...]
+</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/ [...]
 <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#595-608">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>, ArrowError&gt;&gt;,</div></h3></section>< [...]
+    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/ [...]
     &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 [...]
@@ -201,7 +201,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#610-617">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>, ArrowError&gt;&gt;,</div></h3></section>< [...]
+    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/ [...]
     &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. [...]
     &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 fbb0abe968..287e6d7ae4 100644
--- a/arrow_array/record_batch/trait.RecordBatchReader.html
+++ b/arrow_array/record_batch/trait.RecordBatchReader.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="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array::record_batch - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="fo [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     // Required method
-    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef;
+    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>;
 
     // 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;, ArrowError&gt; { ... }
+    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 [...]
 }</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; SchemaRef</h4></section></summary><div class="docblock"><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 [...]
 <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>, ArrowError&gt;&gt;,</div></h3></section>< [...]
\ 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>, <a class="enum" href="../../arrow_schema/ [...]
\ 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 b5e393ac92..379130febe 100644
--- a/arrow_array/record_batch/trait.RecordBatchWriter.html
+++ b/arrow_array/record_batch/trait.RecordBatchWriter.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="Trait for types that can write `RecordBatch`’s."><title>RecordBatchWriter in arrow_array::record_batch - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     // 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>, 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;;
+    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;;
 }</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 3009e253a4..7a526c6f9b 100644
--- a/arrow_array/struct.RecordBatch.html
+++ b/arrow_array/struct.RecordBatch.html
@@ -1,22 +1,22 @@
 <!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><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
-    schema: SchemaRef,
+    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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">schema</a>.</p>
+<a href="../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::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: 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"  [...]
+</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 [...]
 <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-473">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: SchemaRef,
+    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, ArrowError&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, <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>
 <p>Expects the following:</p>
 <ul>
 <li>the vec of columns to not be empty</li>
@@ -37,24 +37,24 @@ 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: SchemaRef,
+    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, ArrowError&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, <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,
 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: 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.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.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: SchemaRef,
+    schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     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, 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
+) -&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 [...]
 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: 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 [...]
+</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 [...]
 <p>Returns an error if <code>schema</code> is not a superset of the current schema
-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.project" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#240-263">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 <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.project" class="method"><a class="src rightside" href="../src/arrow_array/record_batch.rs.html#240-263">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#283-285">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 href="#example-1">Example</a></h5>
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
@@ -106,7 +106,7 @@ as determined by [<code>Schema::contains</code>]</p>
 according to <code>offset</code> and <code>length</code></p>
 <h5 id="panics-2"><a href="#panics-2">Panics</a></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#409-423">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 [...]
+</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#409-423">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=".. [...]
     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#446-464">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#446-464">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 e87b371423..0bbcead2e3 100644
--- a/arrow_array/struct.RecordBatchIterator.html
+++ b/arrow_array/struct.RecordBatchIterator.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="Generic implementation of RecordBatchReader that wraps an iterator."><title>RecordBatchIterator in arrow_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
-    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>{
+    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 [...]
     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: SchemaRef,
+    inner_schema: <a class="type" href="../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
 }</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 href="#example">Example</a></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>]));
@@ -19,11 +19,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>, ArrowError&gt;&gt;,</div></h [...]
+</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 [...]
 <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#595-608">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>, ArrowError&gt;&gt;,</div></h [...]
+    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 [...]
     &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 [...]
@@ -201,7 +201,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#610-617">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>, ArrowError&gt;&gt;,</div></h [...]
+    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 [...]
     &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. [...]
     &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 c50d1e949a..3e3cc67656 100644
--- a/arrow_array/timezone/private/struct.Tz.html
+++ b/arrow_array/timezone/private/struct.Tz.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 Arrow `TimeZone`"><title>Tz in arrow_array::timezone::private - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../ [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</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="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 bc6891426f..9267ed2a4a 100644
--- a/arrow_array/timezone/struct.Tz.html
+++ b/arrow_array/timezone/struct.Tz.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 Arrow `TimeZone`"><title>Tz in arrow_array::timezone - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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 b2ade0f1ea..54af2f1ea2 100644
--- a/arrow_array/trait.ArrowNativeTypeOp.html
+++ b/arrow_array/trait.ArrowNativeTypeOp.html
@@ -6,19 +6,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, ArrowError&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, <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.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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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, ArrowError&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, <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_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>;
@@ -50,19 +50,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, ArrowError&gt;</h4></section></summary><di [...]
+</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_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, ArrowError&gt;</h4></section></summary><di [...]
+</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_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, ArrowError&gt;</h4></section></summary><di [...]
+</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_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, ArrowError&gt;</h4></section></summary><di [...]
+</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_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, ArrowError&gt;</h4></section></summary><div class="do [...]
+</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_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 [...]
@@ -72,4 +72,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 48512ff955..486dee88bf 100644
--- a/arrow_array/trait.RecordBatchReader.html
+++ b/arrow_array/trait.RecordBatchReader.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="Trait for types that can read `RecordBatch`’s."><title>RecordBatchReader in arrow_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     // Required method
-    fn <a href="#tymethod.schema" class="fn">schema</a>(&amp;self) -&gt; SchemaRef;
+    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>;
 
     // 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;, Arro [...]
+    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 [...]
 }</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; SchemaRef</h4></section></summary><div class="docblock"><p>Ret [...]
+</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 [...]
 <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>, ArrowError&gt;&gt;,</div></h [...]
\ 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>, <a class="enum" href="../arr [...]
\ No newline at end of file
diff --git a/arrow_array/trait.RecordBatchWriter.html b/arrow_array/trait.RecordBatchWriter.html
index d42a943bed..4aa779f24e 100644
--- a/arrow_array/trait.RecordBatchWriter.html
+++ b/arrow_array/trait.RecordBatchWriter.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="Trait for types that can write `RecordBatch`’s."><title>RecordBatchWriter in arrow_array - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
     // 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>, 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;;
+    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;;
 }</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 4a9f806bb4..71736c34f3 100644
--- a/arrow_array/types/fn.validate_decimal_precision_and_scale.html
+++ b/arrow_array/types/fn.validate_decimal_precision_and_scale.html
@@ -2,7 +2,7 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     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>, 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>
+) -&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 [...]
 <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 3280c4072a..11c4fec0d0 100644
--- a/arrow_array/types/index.html
+++ b/arrow_array/types/index.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="Zero-sized types used to parameterize generic array implementations"><title>arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 </div></details><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><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 class="desc docblock-short">Crate private types for Byte Arrays</div></li><li><div class="item-name"><a class="mod" href="decimal/index.html" title="mod arrow_array::types::decimal">decimal</a><span titl [...]
-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
+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 [...]
 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.BooleanType.html b/arrow_array/types/struct.BooleanType.html
index c72c902d3c..75eb2a7c41 100644
--- a/arrow_array/types/struct.BooleanType.html
+++ b/arrow_array/types/struct.BooleanType.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="A boolean datatype"><title>BooleanType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#43-46">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#43-46">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#40">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 565d08adb3..564e0dd45a 100644
--- a/arrow_array/types/struct.Date32Type.html
+++ b/arrow_array/types/struct.Date32Type.html
@@ -66,7 +66,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#176-181">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#176-181">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 5617ad281b..a590d7c3d3 100644
--- a/arrow_array/types/struct.Date64Type.html
+++ b/arrow_array/types/struct.Date64Type.html
@@ -66,7 +66,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#182-187">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#182-187">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 66f5ded5d1..b4ff72005f 100644
--- a/arrow_array/types/struct.Decimal128Type.html
+++ b/arrow_array/types/struct.Decimal128Type.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="The decimal type for a Decimal128Array"><title>Decimal128Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#1350-1354">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#1350-1354">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>, 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">< [...]
+) -&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 [...]
     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 c913e45d25..149261086e 100644
--- a/arrow_array/types/struct.Decimal256Type.html
+++ b/arrow_array/types/struct.Decimal256Type.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="The decimal type for a Decimal256Array"><title>Decimal256Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#1380-1384">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#1380-1384">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>, 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">< [...]
+) -&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 [...]
     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 421faabf34..576e803f07 100644
--- a/arrow_array/types/struct.DurationMicrosecondType.html
+++ b/arrow_array/types/struct.DurationMicrosecondType.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 elapsed time type in microseconds."><title>DurationMicrosecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2"  [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#307-312">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#307-312">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 aa4a925732..bb4f5600ca 100644
--- a/arrow_array/types/struct.DurationMillisecondType.html
+++ b/arrow_array/types/struct.DurationMillisecondType.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 elapsed time type in milliseconds."><title>DurationMillisecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2"  [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#301-306">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#301-306">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 a5c67e857d..1c371ee0a6 100644
--- a/arrow_array/types/struct.DurationNanosecondType.html
+++ b/arrow_array/types/struct.DurationNanosecondType.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 elapsed time type in nanoseconds."><title>DurationNanosecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cr [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#313-318">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#313-318">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 02d9da6a60..51fd8cff4f 100644
--- a/arrow_array/types/struct.DurationSecondType.html
+++ b/arrow_array/types/struct.DurationSecondType.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 elapsed time type in seconds."><title>DurationSecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#295-300">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#295-300">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 47f825bd48..8029316607 100644
--- a/arrow_array/types/struct.Float16Type.html
+++ b/arrow_array/types/struct.Float16Type.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="A 16-bit floating point number type."><title>Float16Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#134-139">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#134-139">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 dbd434d680..f7733dd540 100644
--- a/arrow_array/types/struct.Float32Type.html
+++ b/arrow_array/types/struct.Float32Type.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="A 32-bit floating point number type."><title>Float32Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#140-145">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#140-145">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 6aed6137f9..d954afe241 100644
--- a/arrow_array/types/struct.Float64Type.html
+++ b/arrow_array/types/struct.Float64Type.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="A 64-bit floating point number type."><title>Float64Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#146-151">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#146-151">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 9d136b95d0..68dd1be089 100644
--- a/arrow_array/types/struct.GenericBinaryType.html
+++ b/arrow_array/types/struct.GenericBinaryType.html
@@ -4,10 +4,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#1518">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#1518">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>, 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 [...]
+) -&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  [...]
     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 fcfa06e95f..899e300a83 100644
--- a/arrow_array/types/struct.GenericStringType.html
+++ b/arrow_array/types/struct.GenericStringType.html
@@ -4,10 +4,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#1472">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#1472">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>, 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 [...]
+) -&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  [...]
     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 d02529016f..5bea08855f 100644
--- a/arrow_array/types/struct.Int16Type.html
+++ b/arrow_array/types/struct.Int16Type.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="A signed 16-bit integer type."><title>Int16Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#92-97">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#92-97">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 c73e2e3ef5..089dab6c03 100644
--- a/arrow_array/types/struct.Int32Type.html
+++ b/arrow_array/types/struct.Int32Type.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="A signed 32-bit integer type."><title>Int32Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#98-103">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#98-103">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 fda98d6746..c9098b187d 100644
--- a/arrow_array/types/struct.Int64Type.html
+++ b/arrow_array/types/struct.Int64Type.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="A signed 64-bit integer type."><title>Int64Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#104-109">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#104-109">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 bb7a693d79..15472bfe26 100644
--- a/arrow_array/types/struct.Int8Type.html
+++ b/arrow_array/types/struct.Int8Type.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="A signed 8-bit integer type."><title>Int8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../ [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#91">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#91">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 712717af36..6fab7dfb8c 100644
--- a/arrow_array/types/struct.IntervalDayTimeType.html
+++ b/arrow_array/types/struct.IntervalDayTimeType.html
@@ -33,7 +33,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#218-244">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#218-244">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 fe58f46480..0894450689 100644
--- a/arrow_array/types/struct.IntervalMonthDayNanoType.html
+++ b/arrow_array/types/struct.IntervalMonthDayNanoType.html
@@ -53,7 +53,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#245-294">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#245-294">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 6c3a69ac37..63cd1c092a 100644
--- a/arrow_array/types/struct.IntervalYearMonthType.html
+++ b/arrow_array/types/struct.IntervalYearMonthType.html
@@ -17,7 +17,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#212-217">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#212-217">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.Time32MillisecondType.html b/arrow_array/types/struct.Time32MillisecondType.html
index a4739f4948..1c8a521286 100644
--- a/arrow_array/types/struct.Time32MillisecondType.html
+++ b/arrow_array/types/struct.Time32MillisecondType.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="A 32-bit time type representing the elapsed time since midnight in milliseconds."><title>Time32MillisecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link r [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#194-199">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#194-199">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 d54cc86495..9128c1898e 100644
--- a/arrow_array/types/struct.Time32SecondType.html
+++ b/arrow_array/types/struct.Time32SecondType.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="A 32-bit time type representing the elapsed time since midnight in seconds."><title>Time32SecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preloa [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#188-193">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#188-193">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 220191bddc..e63221b710 100644
--- a/arrow_array/types/struct.Time64MicrosecondType.html
+++ b/arrow_array/types/struct.Time64MicrosecondType.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="A 64-bit time type representing the elapsed time since midnight in microseconds."><title>Time64MicrosecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link r [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#200-205">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#200-205">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 73149ad98b..bac2f33b66 100644
--- a/arrow_array/types/struct.Time64NanosecondType.html
+++ b/arrow_array/types/struct.Time64NanosecondType.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="A 64-bit time type representing the elapsed time since midnight in nanoseconds."><title>Time64NanosecondType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#206-211">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#206-211">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 01bc7f60df..64612e59db 100644
--- a/arrow_array/types/struct.TimestampMicrosecondType.html
+++ b/arrow_array/types/struct.TimestampMicrosecondType.html
@@ -66,7 +66,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#164-169">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#164-169">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 83be54a8cb..09856b3a66 100644
--- a/arrow_array/types/struct.TimestampMillisecondType.html
+++ b/arrow_array/types/struct.TimestampMillisecondType.html
@@ -66,7 +66,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#158-163">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#158-163">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 08b8c61bfe..29c1daa072 100644
--- a/arrow_array/types/struct.TimestampNanosecondType.html
+++ b/arrow_array/types/struct.TimestampNanosecondType.html
@@ -66,7 +66,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#170-175">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#170-175">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 847dd0e1f2..47200bc2ad 100644
--- a/arrow_array/types/struct.TimestampSecondType.html
+++ b/arrow_array/types/struct.TimestampSecondType.html
@@ -72,7 +72,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#152-157">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#152-157">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 2b4742b8c4..245cbe2fc8 100644
--- a/arrow_array/types/struct.UInt16Type.html
+++ b/arrow_array/types/struct.UInt16Type.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 unsigned 16-bit integer type."><title>UInt16Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#116-121">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#116-121">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 2dc8c88fca..302f0b0c67 100644
--- a/arrow_array/types/struct.UInt32Type.html
+++ b/arrow_array/types/struct.UInt32Type.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 unsigned 32-bit integer type."><title>UInt32Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#122-127">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#122-127">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 16a2af2a1a..7a4209305f 100644
--- a/arrow_array/types/struct.UInt64Type.html
+++ b/arrow_array/types/struct.UInt64Type.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 unsigned 64-bit integer type."><title>UInt64Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#128-133">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#128-133">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 5a11a56d17..4ef8268439 100644
--- a/arrow_array/types/struct.UInt8Type.html
+++ b/arrow_array/types/struct.UInt8Type.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 unsigned 8-bit integer type."><title>UInt8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-</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#110-115">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#110-115">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 82bfea0872..b76c61b8cd 100644
--- a/arrow_array/types/trait.ArrowPrimitiveType.html
+++ b/arrow_array/types/trait.ArrowPrimitiveType.html
@@ -2,16 +2,16 @@
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     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>: DataType;
+    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>;
 
     // 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 [<code>DataType</code>]) 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 <a href="../../arrow_schema/datatype/enum.DataType.html" title="enum arrow_schema::datatype::DataType"><code>DataType</code></a>) 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#54">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#57">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="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#57">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="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#60-62">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#67-69">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 b8adf901e8..90f83c5e77 100644
--- a/arrow_array/types/trait.ArrowTimestampType.html
+++ b/arrow_array/types/trait.ArrowTimestampType.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 timestamp type allows us to create array builders that take a timestamp."><title>ArrowTimestampType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prelo [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_array/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
-    const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: TimeUnit;
+    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>;
 
     // 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; TimeUnit { ... }
+    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> { ... }
 }</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#375">source</a><h4 class="code-header">const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: TimeUnit</h4></section></summary><div c [...]
+</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#375">source</a><h4 class="code-header">const <a href="#associatedconstant.UNIT" class="constant">UNIT</a>: <a class="enum" href="../../arrow_schem [...]
 </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#386">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 [<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#379-381">source</a><h4 class="code-header">fn <a href="#method.get_time_unit" class="fn">get_time_unit</a>() -&gt; TimeUnit</h4></section></summary><span class="i [...]
-</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 <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#379-381">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
diff --git a/arrow_array/types/trait.ByteArrayType.html b/arrow_array/types/trait.ByteArrayType.html
index 9b224be371..fec79534ea 100644
--- a/arrow_array/types/trait.ByteArrayType.html
+++ b/arrow_array/types/trait.ByteArrayType.html
@@ -4,13 +4,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>: DataType;
+    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>;
 
     // 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>, ArrowError&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;;
 }</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#1448">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/list_arra [...]
@@ -18,9 +18,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#1455">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#1458">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><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1458">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></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#1461">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>, 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
+) -&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
diff --git a/arrow_array/types/trait.DecimalType.html b/arrow_array/types/trait.DecimalType.html
index fcb82befe2..1abca4c92f 100644
--- a/arrow_array/types/trait.DecimalType.html
+++ b/arrow_array/types/trait.DecimalType.html
@@ -3,8 +3,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; DataType;
-    const <a href="#associatedconstant.DEFAULT_TYPE" class="constant">DEFAULT_TYPE</a>: DataType;
+    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.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
@@ -12,7 +12,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>, ArrowError&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;;
 }</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>
@@ -20,12 +20,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#1268">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#1270">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#1272">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#1274">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#1276">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.TYPE_CONSTRUCTOR" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1274">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#1276">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.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1279">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#1282">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#1285">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>, 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
+) -&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
diff --git a/help.html b/help.html
index 3510e86e66..1769a26e88 100644
--- a/help.html
+++ b/help.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="Documentation for Rustdoc"><title>Help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_rowcount/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div [...]
\ 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><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843f [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ No newline at end of file
diff --git a/index.html b/index.html
index b8a98de52d..9dd38745b0 100644
--- a/index.html
+++ b/index.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="List of crates"><title>Index of crates</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_rowcount/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div [...]
\ 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="List of crates"><title>Index of crates</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843f [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ No newline at end of file
diff --git a/settings.html b/settings.html
index e937f92c8d..7e9a16e7c0 100644
--- a/settings.html
+++ b/settings.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="Settings of Rustdoc"><title>Settings</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_rowcount/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div [...]
\ 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><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ No newline at end of file
diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
index 9ac2a790a4..5097f17744 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 PyErr"],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;T&gt; for <a class=\"str [...]
-"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;<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=\"arrow_array/types/struct.UInt16Type.html\" title=\"struct arrow_array::types::UInt16Type\">UInt16Type</a> as <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPri [...]
+"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;<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=\"arrow_array/types/struct.UInt16Type.html\" title=\"struct arrow_array::types::UInt16Type\">UInt16Type</a> as <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPri [...]
 "arrow_buffer":[["impl&lt;T: <a class=\"trait\" href=\"arrow_buffer/native/trait.ArrowNativeType.html\" title=\"trait arrow_buffer::native::ArrowNativeType\">ArrowNativeType</a>&gt; <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_buffer/buffer/mutable/struct.MutableBuffer.html\" title=\"struct arrow_buffer::buffer::mutable::MutableBuffer\">MutableBuffer</a>&gt; for  [...]
 "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 [...]
 "arrow_data":[["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=\"arrow_data/data/struct.ArrayData.html\" title=\"struct arrow_data::data::ArrayData\">ArrayData</a>&gt; for <a class=\"struct\" href=\"arrow_data/data/struct.ArrayDataBuilder.html\" title=\"struct arrow_data::data::ArrayDataBuilder\">ArrayDataBuilder</a>"]],
diff --git a/trait.impl/core/iter/traits/iterator/trait.Iterator.js b/trait.impl/core/iter/traits/iterator/trait.Iterator.js
index f07651cf21..19c116dbd4 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&lt;T: <a class=\"trait\" href=\"arrow_array/array/trait.ArrayAccessor.html\" title=\"trait arrow_array::array::ArrayAccessor\">ArrayAccessor</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_array/iterator/struct.ArrayIter.html\" title=\"struct arrow_array::iterator::ArrayIter\">ArrayIter</a>&lt;T& [...]
+"arrow_array":[["impl&lt;T: <a class=\"trait\" href=\"arrow_array/array/trait.ArrayAccessor.html\" title=\"trait arrow_array::array::ArrayAccessor\">ArrayAccessor</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_array/iterator/struct.ArrayIter.html\" title=\"struct arrow_array::iterator::ArrayIter\">ArrayIter</a>&lt;T& [...]
 "arrow_buffer":[["impl&lt;'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_buffer/util/bit_iterator/struct.BitIndexIterator.html\" title=\"struct arrow_buffer::util::bit_iterator::BitIndexIterator\">BitIndexIterator</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/tr [...]
 "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 7d32dfb325..b8a1c7eaf3 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-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/binary_array.rs.html#26-101\">source</a><a href=\"#impl-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" t [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/binary_array.rs.html#26-101\">source</a><a href=\"#impl-GenericByteArray%3CGenericBinaryType%3COffsetSize%3E%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;OffsetSize: <a class=\"trait\" href=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" 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/byte_array/struct.GenericByteArray.js b/type.impl/arrow_array/array/byte_array/struct.GenericByteArray.js
index 301fd50731..8aaa42c5cc 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-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=\"arrow_array/types/trait.ByteArrayType.html\" title=\"trait arrow_array::types::ByteArrayType\">ByteArrayType</a>&gt; <a class=\"struc [...]
+"arrow_array":[["<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=\"arrow_array/types/trait.ByteArrayType.html\" title=\"trait arrow_array::types::ByteArrayType\">ByteArrayType</a>&gt; <a class=\"struc [...]
 };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 1d1dc0b53e..b8527fd6e3 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-DictionaryArray%3CK%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/dictionary_array.rs.html#270-567\">source</a><a href=\"#impl-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::types::ArrowDictionaryKeyType\">ArrowDictionaryK [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-DictionaryArray%3CK%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/dictionary_array.rs.html#270-567\">source</a><a href=\"#impl-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::types::ArrowDictionaryKeyType\">ArrowDictionaryK [...]
 };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 3538fceb57..675aabef30 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-GenericListArray%3COffsetSize%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/list_array.rs.html#145-371\">source</a><a href=\"#impl-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::array::list_array::Of [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-GenericListArray%3COffsetSize%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/list_array.rs.html#145-371\">source</a><a href=\"#impl-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::array::list_array::Of [...]
 };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 25d07dd103..a31d3aa79d 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-PrimitiveArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/primitive_array.rs.html#500-974\">source</a><a href=\"#impl-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\">ArrowPrimitiveType</a>&gt;  [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PrimitiveArray%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/primitive_array.rs.html#500-974\">source</a><a href=\"#impl-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\">ArrowPrimitiveType</a>&gt;  [...]
 };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 aa1c1f39d6..9879c9850e 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-RunArray%3CR%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/run_array.rs.html#80-255\">source</a><a href=\"#impl-RunArray%3CR%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;R: <a class=\"trait\" href=\"arrow_array/types/trait.RunEndIndexType.html\" title=\"trait arrow_array::types::RunEndIndexType\">RunEndIndexType</a>&gt; <a class=\"struct\" href=\"a [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-RunArray%3CR%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/array/run_array.rs.html#80-255\">source</a><a href=\"#impl-RunArray%3CR%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;R: <a class=\"trait\" href=\"arrow_array/types/trait.RunEndIndexType.html\" title=\"trait arrow_array::types::RunEndIndexType\">RunEndIndexType</a>&gt; <a class=\"struct\" href=\"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/string_array/type.GenericStringArray.js b/type.impl/arrow_array/array/string_array/type.GenericStringArray.js
index 46e891f6d4..a7ecf6a42d 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-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=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" ti [...]
+"arrow_array":[["<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=\"arrow_array/array/list_array/trait.OffsetSizeTrait.html\" ti [...]
 };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 3ac5a9bfd2..bf31e82dea 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-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#61-163\">source</a><a href=\"#impl-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K, T&gt; <a class=\"struct\" href=\"arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDi [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/generic_bytes_dictionary_builder.rs.html#61-163\">source</a><a href=\"#impl-GenericByteDictionaryBuilder%3CK,+T%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl&lt;K, T&gt; <a class=\"struct\" href=\"arrow_array/builder/generic_bytes_dictionary_builder/struct.GenericByteDi [...]
 };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 7f1f0f46a4..a767d026df 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-PrimitiveBuilder%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/primitive_builder.rs.html#141-322\">source</a><a href=\"#impl-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::ArrowPrimitiveType\">ArrowPrimitiveType< [...]
+"arrow_array":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PrimitiveBuilder%3CT%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/builder/primitive_builder.rs.html#141-322\">source</a><a href=\"#impl-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::ArrowPrimitiveType\">ArrowPrimitiveType< [...]
 };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 92c21d9e12..0e5186eb5d 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#1515-1537\">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#1515-1537\">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 30ae76abb1..c45128db3a 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":[["<section id=\"impl-ByteArrayTypeSealed-for-GenericStringType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1418\">source</a><a href=\"#impl-ByteArrayTypeSealed-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::OffsetSizeTrait\">OffsetSizeTrait</a>&gt; <a class=\" [...]
+"arrow_array":[["<section id=\"impl-ByteArrayTypeSealed-for-GenericStringType%3CO%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/arrow_array/types.rs.html#1418\">source</a><a href=\"#impl-ByteArrayTypeSealed-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::OffsetSizeTrait\">OffsetSizeTrait</a>&gt; <a class=\" [...]
 };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file