diff --git a/ghc-experimental.cabal b/ghc-experimental.cabal
--- a/ghc-experimental.cabal
+++ b/ghc-experimental.cabal
@@ -1,6 +1,12 @@
 cabal-version:      3.0
+
+-- WARNING: ghc-experimental.cabal is automatically generated from ghc-experimental.cabal.in
+-- Make sure you are editing ghc-experimental.cabal.in, not ghc-experimental.cabal
+
 name:               ghc-experimental
-version:            0.1.0.0
+-- The project is ghc's version plus ghc-experimental's version suffix.
+-- For example, for ghc=9.10.1, ghc-experimental's version will be 9.1001.0.
+version:            9.1002.0
 synopsis:           Experimental features of GHC's standard library
 description:
     This package is where experimental GHC standard library interfaces start
@@ -23,6 +29,7 @@
 library
     import:           warnings
     exposed-modules:
+      GHC.PrimOps
       GHC.Profiling.Eras
       Data.Tuple.Experimental
       Data.Sum.Experimental
@@ -31,8 +38,8 @@
         exposed-modules:  GHC.Wasm.Prim
     other-extensions:
     build-depends:    base ^>=4.20,
-                      ghc-internal >= 9.1001 && < 9.1002,
-                      ghc-prim >= 0.11 && < 0.12
+                      ghc-internal == 9.1002.*,
+                      ghc-prim >= 0.11 && < 0.13
     hs-source-dirs:   src
     default-language: Haskell2010
     ghc-options: -this-unit-id ghc-experimental
diff --git a/src/Data/Sum/Experimental.hs b/src/Data/Sum/Experimental.hs
--- a/src/Data/Sum/Experimental.hs
+++ b/src/Data/Sum/Experimental.hs
@@ -80,5 +80,6 @@
   Sum63#,
 ) where
 
-import GHC.Num.BigNat () -- for build ordering
 import GHC.Types
+
+default ()
diff --git a/src/Data/Tuple/Experimental.hs b/src/Data/Tuple/Experimental.hs
--- a/src/Data/Tuple/Experimental.hs
+++ b/src/Data/Tuple/Experimental.hs
@@ -161,4 +161,5 @@
 import GHC.Tuple
 import GHC.Types
 import GHC.Classes
-import GHC.Num.BigNat () -- for build ordering
+
+default ()
diff --git a/src/GHC/PrimOps.hs b/src/GHC/PrimOps.hs
new file mode 100644
--- /dev/null
+++ b/src/GHC/PrimOps.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE Unsafe #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# OPTIONS_HADDOCK print-explicit-runtime-reps #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  GHC.PrimOps
+-- Copyright   :  Andreas Klebinger 2024
+-- License     :  see libraries/ghc-experimental/LICENSE
+--
+-- Maintainer  :  ghc-devs@haskell.org
+-- Stability   :  internal
+-- Portability :  non-portable (GHC Extensions)
+--
+-- GHC Extensions: This is the Approved Way to get at GHC-specific extensions
+-- without relying on the ghc-internal package.
+-----------------------------------------------------------------------------
+
+-- See Note [Where do we export PrimOps] for the purpose of this module.
+
+module GHC.PrimOps
+       (
+        module GHC.Internal.Exts,
+       ) where
+
+import GHC.Internal.Exts
+
