diff --git a/manifest.dhall b/manifest.dhall
index c9cb0bb3138b8caeaff4d8ec1aca5d9adade5919..842a8bccc1202c353da87cd9f36c2aa95daa7a73 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -404,6 +404,11 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "type-errors-pretty" "0.0.1.2"
     , callHackage "type-errors" "0.2.0.0"
     , callHackage "type-equality" "1"
+    , callCabal2nix
+        "typerep-map"
+        "https://github.com/parsonsmatt/typerep-map"
+        (Some "75b7cd5d45986be07420a6821d352ad2adc0b697")
+        (None Text)
     , callHackage "unicode-collation" "0.1.3.2"
     , callHackage "unicode-data" "0.4.0"
     , callHackage "unicode-transforms" "0.4.0.1"
diff --git a/overlay.nix b/overlay.nix
index 36cd0cf9b3163977a5a3e19d3dadac239c974fab..404e0e11e5925fb2ce300c929406598c5af6b8b2 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -505,6 +505,8 @@ final: prev: with pkgs.haskell.lib; {
 
     type-errors-pretty = prev.callPackage (./pkgs/type-errors-pretty.nix) { };
 
+    typerep-map = prev.callPackage (./pkgs/typerep-map.nix) { };
+
     unicode-collation = prev.callPackage (./pkgs/unicode-collation.nix) { };
 
     unicode-data = prev.callPackage (./pkgs/unicode-data.nix) { };
diff --git a/pkgs/typerep-map.nix b/pkgs/typerep-map.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8670f918cc0f600cd7395f2119c268011905b79b
--- /dev/null
+++ b/pkgs/typerep-map.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, base, containers, criterion, deepseq, dependent-map
+, dependent-sum, fetchgit, ghc-prim, ghc-typelits-knownnat
+, hedgehog, hspec, hspec-hedgehog, lib, primitive, vector
+}:
+mkDerivation {
+  pname = "typerep-map";
+  version = "0.5.0.0";
+  src = fetchgit {
+    url = "https://github.com/parsonsmatt/typerep-map";
+    sha256 = "023f2rrak7kmpfxxpfcdv5bb1llksk2cxmdgvs08qx3l821d016w";
+    rev = "75b7cd5d45986be07420a6821d352ad2adc0b697";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [
+    base containers deepseq ghc-prim primitive vector
+  ];
+  testHaskellDepends = [
+    base ghc-typelits-knownnat hedgehog hspec hspec-hedgehog
+  ];
+  benchmarkHaskellDepends = [
+    base criterion deepseq dependent-map dependent-sum
+    ghc-typelits-knownnat
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/kowainik/typerep-map";
+  description = "Efficient implementation of a dependent map with types as keys";
+  license = lib.licenses.mpl20;
+}
\ No newline at end of file