diff --git a/manifest.dhall b/manifest.dhall
index 885cc288327cbdbb092481bb4d35d965778f8ea3..f46c4d3e25ba51cb49fd26cf85dfa138d4ced131 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -662,6 +662,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "shakespeare" "2.0.30"
     , callHackage "shake" "0.19.6"
     , callHackage "shelly" "1.10.0"
+    , callHackage "should-not-typecheck" "2.1.0"
     , callHackage "silently" "1.2.5.3"
     , callHackage "simple-reflect" "0.3.3"
     , callHackage "simple-sendfile" "0.2.30"
diff --git a/overlay.nix b/overlay.nix
index 2b3d44806adf0d4cc8d95ef46ccdac9d00c06035..9ddd6b3c4d320feae6671de39e3647f3c8222c3b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -999,6 +999,8 @@ self: with pkgs.haskell.lib; {
 
   shelly = self.callPackage (./pkgs/shelly.nix) { };
 
+  should-not-typecheck = self.callPackage (./pkgs/should-not-typecheck.nix) { };
+
   silently = self.callPackage (./pkgs/silently.nix) { };
 
   simple-reflect = self.callPackage (./pkgs/simple-reflect.nix) { };
diff --git a/pkgs/should-not-typecheck.nix b/pkgs/should-not-typecheck.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4abcfdec61430f819317364bbe14b5da050d1232
--- /dev/null
+++ b/pkgs/should-not-typecheck.nix
@@ -0,0 +1,35 @@
+{ mkDerivation
+, base
+, deepseq
+, hspec
+, hspec-expectations
+, HUnit
+, lib
+}:
+mkDerivation {
+  pname = "should-not-typecheck";
+  version = "2.1.0";
+  sha256 = "f538ac70ce07679bc2e6c1651db82a86866664ab995665fdc78e6cb12bd8d591";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq HUnit ];
+  testHaskellDepends = [
+    base
+    deepseq
+    hspec
+    hspec-expectations
+    HUnit
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/CRogers/should-not-typecheck";
+  description = "A HUnit/hspec assertion library to verify that an expression does not typecheck";
+  license = lib.licenses.bsd3;
+  broken = false;
+}