Array is:exact

Marshalling support: routines allocating, storing, and retrieving Haskell lists that are represented as arrays in the foreign language
The type of immutable non-strict (boxed) arrays with indices in i and elements in e.
Packed, unboxed, heap-resident arrays. Suitable for performance critical use, both in terms of large data quantities and high speed. This module is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.
import qualified Data.Text.Array as A
The names in this module resemble those in the Array family of modules, but are shorter due to the assumption of qualified naming.
Immutable array type.
A JSON "array" (sequence).

WARNING

This module is considered internal. The Package Versioning Policy does not apply. The contents of this module may change in any way whatsoever and without any warning between minor versions of this package. Authors importing this module are expected to track development closely.

Description

Zero based arrays. Note that no bounds checking are performed.
Basic non-strict arrays. Note: The Data.Array.IArray module provides a more general interface to immutable arrays: it defines operations with the same names as those defined below, but with more general types, and also defines Array instances of the relevant classes. To use that more general interface, import Data.Array.IArray but not Data.Array.
The type of immutable non-strict (boxed) arrays with indices in i and elements in e.
Primitive arrays of boxed values.
Boxed arrays.
Provides TextShow instances for Array types, as well as the showbIArrayPrec function. Since: 2
A generic array decoder. Here's how you can use it to produce a specific array value decoder:
x :: Value [[Text]]
x = array (dimension replicateM (dimension replicateM (element (nonNullable text))))
Generic array encoder. Here's an example of its usage:
someParamsEncoder :: Params [[Int64]]
someParamsEncoder = param (nonNullable (array (dimension foldl' (dimension foldl' (element (nonNullable int8))))))
Please note that the PostgreSQL IN keyword does not accept an array, but rather a syntactical list of values, thus this encoder is not suited for that. Use a value = ANY($1) condition instead.