diff --git a/Data/Repa/Scalar/Box.hs b/Data/Repa/Scalar/Box.hs
--- a/Data/Repa/Scalar/Box.hs
+++ b/Data/Repa/Scalar/Box.hs
@@ -70,6 +70,10 @@
         return $ MV_Box n as
   {-# INLINE basicUnsafeNew  #-}
 
+  basicInitialize (MV_Box _n as)
+   = GM.basicInitialize as
+  {-# INLINE basicInitialize  #-}
+
   basicUnsafeReplicate n (Box a)
    = do as <- GM.basicUnsafeReplicate n a
         return $ MV_Box n as
diff --git a/Data/Repa/Scalar/Date32.hs b/Data/Repa/Scalar/Date32.hs
--- a/Data/Repa/Scalar/Date32.hs
+++ b/Data/Repa/Scalar/Date32.hs
@@ -1,4 +1,4 @@
-
+{-# LANGUAGE CPP #-}
 module Data.Repa.Scalar.Date32
         ( Date32
 
@@ -128,7 +128,13 @@
           = Date32 (W32# (next' date))
 {-# INLINE next #-}
 
+-- Word32# used to wrap a Word# rather than Word32#
+-- before base 4.16 (i.e. GHC 9.0 and older)
+#if MIN_VERSION_base(4,16,0)
+next' :: Word32# -> Word32#
+#else
 next' :: Word# -> Word#
+#endif
 next' !date
  | (yy,  mm, dd) <- unpack (Date32 (W32# date))
  , (yy', mm', dd') 
diff --git a/Data/Repa/Scalar/Product.hs b/Data/Repa/Scalar/Product.hs
--- a/Data/Repa/Scalar/Product.hs
+++ b/Data/Repa/Scalar/Product.hs
@@ -223,6 +223,11 @@
         return $ MV_Prod n_ as bs
   {-# INLINE basicUnsafeNew  #-}
 
+  basicInitialize (MV_Prod _ _as _bs)
+      = do M.basicInitialize _as
+           M.basicInitialize _bs 
+  {-# INLINE basicInitialize  #-}
+
   basicUnsafeReplicate n_ (a :*: b)
    = do as <- M.basicUnsafeReplicate n_ a
         bs <- M.basicUnsafeReplicate n_ b
diff --git a/Data/Repa/Scalar/Singleton/Nat.hs b/Data/Repa/Scalar/Singleton/Nat.hs
--- a/Data/Repa/Scalar/Singleton/Nat.hs
+++ b/Data/Repa/Scalar/Singleton/Nat.hs
@@ -1,4 +1,5 @@
 {-# OPTIONS_GHC -fno-warn-unticked-promoted-constructors #-}
+{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE UndecidableInstances #-}
 
 -- | Singleton-typed natural numbers and arithmetic.
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/repa-scalar.cabal b/repa-scalar.cabal
--- a/repa-scalar.cabal
+++ b/repa-scalar.cabal
@@ -1,11 +1,11 @@
 Name:           repa-scalar
-Version:        4.2.3.3
+Version:        4.2.4.0
 License:        BSD3
 License-file:   LICENSE
 Author:         The Repa Development Team
 Maintainer:     Ben Lippmeier <benl@ouroborus.net>
 Build-Type:     Simple
-Cabal-Version:  >=1.6
+Cabal-Version:  1.18
 Stability:      experimental
 Category:       Data Structures
 Homepage:       http://repa.ouroborus.net
@@ -15,17 +15,19 @@
 
 source-repository head
   type:     git
-  location: https://github.com/DDCSF/repa.git
+  location: https://github.com/haskell-repa/repa.git
 
 Library
   build-Depends:
-        base              >= 4.9  && < 4.13,
-        primitive         >= 0.6  && < 0.8,
-        vector            >= 0.10 && < 0.13,
-        time              >= 1.6  && < 1.9,
-        bytestring        == 0.10.*,
-        double-conversion == 2.0.*
+        base              >= 4.9  && < 4.21,
+        primitive         >= 0.6 && <0.10,
+        vector            >= 0.11 && <0.14,
+        time              >= 1.6 && <1.15,
+        bytestring        >= 0.10 && <0.13,
+        double-conversion >= 2.0 && <2.1
 
+  default-language: Haskell2010
+
   exposed-modules:
         Data.Repa.Scalar.Singleton.Nat
         Data.Repa.Scalar.Singleton.Bool
@@ -40,7 +42,7 @@
         -Wall -fno-warn-missing-signatures
         -O2
 
-  extensions:
+  default-extensions:
         GADTs
         DataKinds
         MagicHash
