diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.9.5.0
+
+* Add `arrayAgg_` for aggregating nullable fields
+
 ## 0.9.4.1
 
 * Actually expose `ascNullsLast` and `descNullsFirst`.
diff --git a/opaleye.cabal b/opaleye.cabal
--- a/opaleye.cabal
+++ b/opaleye.cabal
@@ -1,6 +1,6 @@
 name:            opaleye
 copyright:       Copyright (c) 2014-2018 Purely Agile Limited; 2019-2022 Tom Ellis
-version:         0.9.4.1
+version:         0.9.5.0
 synopsis:        An SQL-generating DSL targeting PostgreSQL
 description:     An SQL-generating DSL targeting PostgreSQL.  Allows
                  Postgres queries to be written within Haskell in a
diff --git a/src/Opaleye/Aggregate.hs b/src/Opaleye/Aggregate.hs
--- a/src/Opaleye/Aggregate.hs
+++ b/src/Opaleye/Aggregate.hs
@@ -150,7 +150,10 @@
 boolAnd = A.makeAggr HPQ.AggrBoolAnd
 
 arrayAgg :: Aggregator (F.Field a) (F.Field (T.SqlArray a))
-arrayAgg = A.makeAggr HPQ.AggrArr
+arrayAgg = P.dimap F.unsafeCoerceField F.unsafeCoerceField arrayAgg_
+
+arrayAgg_ :: Aggregator (F.Field_ n a) (F.Field (T.SqlArray_ n a))
+arrayAgg_ = A.makeAggr HPQ.AggrArr
 
 {-|
 FIXME: no longer supports nulls
