diff --git a/manifest.dhall b/manifest.dhall
index cc099da10607b9b74bffab116884cced2e107333..65006d8567d73c021f358f8216d705462db5cca5 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -738,6 +738,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "unordered-containers" "0.2.19.1"
     , callHackage "uri-encode" "1.5.0.7"
     , callHackage "utf8-string" "1.0.2"
+    , callHackage "utility-ht" "0.0.16"
     , callHackage "uuid-types" "1.0.5"
     , callHackage "uuid" "1.3.15"
     , callHackage "validity" "0.12.0.1"
diff --git a/overlay.nix b/overlay.nix
index 1eee71b3bcb748d64df04c63ce7f8c0d332448b6..c9619ddcd3042bf98a1720603c642c08c3ad83f3 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1111,6 +1111,8 @@ self: with pkgs.haskell.lib; {
 
   utf8-string = self.callPackage (./pkgs/utf8-string.nix) { };
 
+  utility-ht = self.callPackage (./pkgs/utility-ht.nix) { };
+
   uuid = self.callPackage (./pkgs/uuid.nix) { };
 
   uuid-types = self.callPackage (./pkgs/uuid-types.nix) { };
diff --git a/pkgs/utility-ht.nix b/pkgs/utility-ht.nix
new file mode 100644
index 0000000000000000000000000000000000000000..31bd0b2ba4edf76ee270551926d195d4f6a90dbf
--- /dev/null
+++ b/pkgs/utility-ht.nix
@@ -0,0 +1,32 @@
+{ mkDerivation
+, base
+, doctest-exitcode-stdio
+, doctest-lib
+, lib
+, QuickCheck
+}:
+mkDerivation {
+  pname = "utility-ht";
+  version = "0.0.16";
+  sha256 = "bce53223bb77643222331efec5d69a656c0fa2d11be6563e27bc4808a1abbb81";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [
+    base
+    doctest-exitcode-stdio
+    doctest-lib
+    QuickCheck
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}