diff --git a/develop/flake.lock b/develop/flake.lock
index 1d99e7c318936468c8a86f22d289daa58338c20b..46cec75b9e392ae7d9635c802c01a5e4a8b1911c 100644
--- a/develop/flake.lock
+++ b/develop/flake.lock
@@ -117,11 +117,11 @@
         "nixpkgs-lib": "nixpkgs-lib"
       },
       "locked": {
-        "lastModified": 1715865404,
-        "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
+        "lastModified": 1727826117,
+        "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
+        "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
         "type": "github"
       },
       "original": {
@@ -867,14 +867,14 @@
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1714640452,
-        "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
+        "lastModified": 1727825735,
+        "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       }
     },
     "nixpkgs-lib_2": {
@@ -1065,11 +1065,11 @@
     },
     "nixpkgs_15": {
       "locked": {
-        "lastModified": 1716769173,
-        "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
+        "lastModified": 1729256560,
+        "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
+        "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
         "type": "github"
       },
       "original": {
diff --git a/flake.lock b/flake.lock
index 7ceb0d7135ca29362d47c1caf1e6544b294a78e2..9ee50e13afd3234e7c69c60e054dedda82b89000 100644
--- a/flake.lock
+++ b/flake.lock
@@ -5,11 +5,11 @@
         "nixpkgs-lib": "nixpkgs-lib"
       },
       "locked": {
-        "lastModified": 1719745305,
-        "narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=",
+        "lastModified": 1727826117,
+        "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9",
+        "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
         "type": "github"
       },
       "original": {
@@ -23,11 +23,11 @@
         "nixpkgs-lib": "nixpkgs-lib_2"
       },
       "locked": {
-        "lastModified": 1717285511,
-        "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
+        "lastModified": 1727826117,
+        "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
+        "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
         "type": "github"
       },
       "original": {
@@ -41,29 +41,11 @@
         "nixpkgs-lib": "nixpkgs-lib_3"
       },
       "locked": {
-        "lastModified": 1717285511,
-        "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
+        "lastModified": 1726153070,
+        "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "type": "github"
-      }
-    },
-    "flake-parts_4": {
-      "inputs": {
-        "nixpkgs-lib": "nixpkgs-lib_4"
-      },
-      "locked": {
-        "lastModified": 1717285511,
-        "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
+        "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
         "type": "github"
       },
       "original": {
@@ -75,7 +57,6 @@
     "horizon-advance": {
       "inputs": {
         "flake-parts": [
-          "horizon-platform",
           "horizon-advance",
           "horizon-core",
           "flake-parts"
@@ -85,11 +66,11 @@
         "nixpkgs": "nixpkgs_4"
       },
       "locked": {
-        "lastModified": 1718979420,
-        "narHash": "sha256-/fHKTygYsDl/jZlV2nMZzm/F0AowJjsCEWZzrTmWGR0=",
+        "lastModified": 1729112877,
+        "narHash": "sha256-OR91CwWyLYPIjmpuFCF+I+mwNMdamG7pKKgPh13tNuw=",
         "ref": "refs/heads/master",
-        "rev": "03585d5899f9bc872b4172338f835ffd863fb1eb",
-        "revCount": 257,
+        "rev": "bad98900d8d3b2a0466f75609f535f3ed1ff5faa",
+        "revCount": 278,
         "type": "git",
         "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
       },
@@ -101,7 +82,6 @@
     "horizon-build-packages": {
       "inputs": {
         "flake-parts": [
-          "horizon-platform",
           "horizon-advance",
           "horizon-core",
           "horizon-build-packages",
@@ -112,11 +92,11 @@
         "nixpkgs": "nixpkgs_2"
       },
       "locked": {
-        "lastModified": 1718969469,
-        "narHash": "sha256-0Q8v/yNwcLZy0znegLXx/SQmbfd2d/4TBSrFYh7g7+0=",
+        "lastModified": 1727953000,
+        "narHash": "sha256-X87uDIiVm8ele4o53FaKKm9PvI4fdfqpQyea6LWxexI=",
         "ref": "refs/heads/master",
-        "rev": "23fa82740dc197706a3737c8830b724ccabafac4",
-        "revCount": 96,
+        "rev": "dfc1cfe14f6f3e156b800c55dced4c211aa328f4",
+        "revCount": 104,
         "type": "git",
         "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-build-packages"
       },
@@ -127,17 +107,17 @@
     },
     "horizon-core": {
       "inputs": {
-        "flake-parts": "flake-parts_3",
+        "flake-parts": "flake-parts_2",
         "horizon-build-packages": "horizon-build-packages",
         "horizon-hoogle": "horizon-hoogle",
         "nixpkgs": "nixpkgs_3"
       },
       "locked": {
-        "lastModified": 1718977916,
-        "narHash": "sha256-sssWF/XjZga4asgwvovPLAbg8E2EyLDQOYSFgUbKg6c=",
+        "lastModified": 1729111300,
+        "narHash": "sha256-crbowiJMHwZlHZFUQwuo8vqVuj4kwuXeISWVDUY90q4=",
         "ref": "refs/heads/master",
-        "rev": "81674e75e63548341ebe0cb94127044255affb55",
-        "revCount": 1375,
+        "rev": "1ef0c63679552db368c7607244a8fc9a226e943c",
+        "revCount": 1391,
         "type": "git",
         "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
       },
@@ -148,15 +128,15 @@
     },
     "horizon-ghc": {
       "inputs": {
-        "flake-parts": "flake-parts_4",
+        "flake-parts": "flake-parts_3",
         "nixpkgs": "nixpkgs"
       },
       "locked": {
-        "lastModified": 1718969245,
-        "narHash": "sha256-eeMsOK3Hmm23SH45GdbuWRtpEcMWZPC/JCYvKL2LOos=",
+        "lastModified": 1727952319,
+        "narHash": "sha256-oh2st42snuv44c7/Pga/obgVG87alRoWywKZ60Bf0V8=",
         "ref": "refs/heads/master",
-        "rev": "0bcfe994903359aef81338915706bf6b2f38aaa4",
-        "revCount": 109,
+        "rev": "f99ab296e55a80fbcfa50e2a7832b001ae1b0ba5",
+        "revCount": 115,
         "type": "git",
         "url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
       },
@@ -195,49 +175,13 @@
         "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
       }
     },
-    "horizon-hoogle_3": {
-      "locked": {
-        "lastModified": 1701521742,
-        "narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
-        "ref": "refs/heads/master",
-        "rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
-        "revCount": 2,
-        "type": "git",
-        "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
-      },
-      "original": {
-        "type": "git",
-        "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
-      }
-    },
-    "horizon-platform": {
-      "inputs": {
-        "flake-parts": "flake-parts_2",
-        "horizon-advance": "horizon-advance",
-        "horizon-hoogle": "horizon-hoogle_3",
-        "nixpkgs": "nixpkgs_5"
-      },
-      "locked": {
-        "lastModified": 1718995913,
-        "narHash": "sha256-C3nOvyq7OZZfwdcax9eEbgPwbgUpSbApW2x7zJUBq7U=",
-        "ref": "refs/heads/master",
-        "rev": "f04089bbd9deadf8f12a8aacb5520dfe4df40ab0",
-        "revCount": 1343,
-        "type": "git",
-        "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-platform"
-      },
-      "original": {
-        "type": "git",
-        "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-platform"
-      }
-    },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1718928808,
-        "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
+        "lastModified": 1726877710,
+        "narHash": "sha256-53Q5rKVWBYc62qS2TNOtoa6hG8820Teq0/x7olr0KUs=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "564000ae34c6af8549f3729051bbae33403e298c",
+        "rev": "93d142112e81929c5bfd20b13bc287da8922dc97",
         "type": "github"
       },
       "original": {
@@ -249,59 +193,47 @@
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1717284937,
-        "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
+        "lastModified": 1727825735,
+        "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       }
     },
     "nixpkgs-lib_2": {
       "locked": {
-        "lastModified": 1717284937,
-        "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
+        "lastModified": 1727825735,
+        "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
       }
     },
     "nixpkgs-lib_3": {
       "locked": {
-        "lastModified": 1717284937,
-        "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
+        "lastModified": 1725233747,
+        "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
-      }
-    },
-    "nixpkgs-lib_4": {
-      "locked": {
-        "lastModified": 1717284937,
-        "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
-      },
-      "original": {
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
       }
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1718928808,
-        "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
+        "lastModified": 1727914564,
+        "narHash": "sha256-S0KZLpF6yfX6c6ehfz2svB3VzYNJ8YxfQJH6NgyHNk8=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "564000ae34c6af8549f3729051bbae33403e298c",
+        "rev": "9d0ab8b5db9ba62989e648db86c66c0fb620b6e9",
         "type": "github"
       },
       "original": {
@@ -313,11 +245,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1718928808,
-        "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
+        "lastModified": 1729037774,
+        "narHash": "sha256-BmdllvnhVXFwOoh4y1lHydWp1J57gAK2qizzcxlgdeU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "564000ae34c6af8549f3729051bbae33403e298c",
+        "rev": "fe21c441dbc7103502d680cad61016cd7134835b",
         "type": "github"
       },
       "original": {
@@ -329,11 +261,11 @@
     },
     "nixpkgs_4": {
       "locked": {
-        "lastModified": 1718928808,
-        "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
+        "lastModified": 1729037774,
+        "narHash": "sha256-BmdllvnhVXFwOoh4y1lHydWp1J57gAK2qizzcxlgdeU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "564000ae34c6af8549f3729051bbae33403e298c",
+        "rev": "fe21c441dbc7103502d680cad61016cd7134835b",
         "type": "github"
       },
       "original": {
@@ -345,27 +277,11 @@
     },
     "nixpkgs_5": {
       "locked": {
-        "lastModified": 1718870667,
-        "narHash": "sha256-jab3Kpc8O1z3qxwVsCMHL4+18n5Wy/HHKyu1fcsF7gs=",
+        "lastModified": 1729256560,
+        "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "9b10b8f00cb5494795e5f51b39210fed4d2b0748",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nixos",
-        "ref": "nixpkgs-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
-    "nixpkgs_6": {
-      "locked": {
-        "lastModified": 1719506693,
-        "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=",
-        "owner": "nixos",
-        "repo": "nixpkgs",
-        "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a",
+        "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
         "type": "github"
       },
       "original": {
@@ -378,8 +294,8 @@
     "root": {
       "inputs": {
         "flake-parts": "flake-parts",
-        "horizon-platform": "horizon-platform",
-        "nixpkgs": "nixpkgs_6"
+        "horizon-advance": "horizon-advance",
+        "nixpkgs": "nixpkgs_5"
       }
     }
   },
diff --git a/flake.nix b/flake.nix
index 02d306de5fb2280bc463e4c584f2829622bd8f0a..af996fce3cbdf88a852e7f3069e3402f33248b0b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -8,7 +8,7 @@
 
   inputs = {
     flake-parts.url = "github:hercules-ci/flake-parts";
-    horizon-platform.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-platform";
+    horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance";
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
   };
 
@@ -30,7 +30,7 @@
             (import ./configuration.nix { inherit pkgs; })
           ];
 
-          legacyPackages = inputs.horizon-platform.legacyPackages.${system}.extend overrides;
+          legacyPackages = inputs.horizon-advance.legacyPackages.${system}.extend overrides;
 
           packages = filterAttrs (_: isDerivation) legacyPackages;
 
diff --git a/horizon.dhall b/horizon.dhall
index 919ed1ad3564f7d4a7d34ba5bd0ff9e354042a20..8ecc04f62777f273fc9ae476c19c2cdae103c78f 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -16,13 +16,17 @@ let packages =
       , iterable = H.callHackage "iterable" "3.0"
       , log-domain = H.callHackage "log-domain" "0.13.2"
       , memexml = H.callHackage "memexml" "0.0.3"
+      , pipes-safe = H.callHackage "pipes-safe" "2.3.5"
       , sequence-formats = H.callHackage "sequence-formats" "1.8.0.1"
+      , streaming = H.callHackage "streaming" "0.2.4.0"
+      , streaming-bytestring = H.callHackage "streaming-bytestring" "0.3.3"
       , stringable = H.callHackage "stringable" "0.1.3"
       , text-binary = H.callHackage "text-binary" "0.2.1.1"
+      , timeit = H.callHackage "timeit" "2.0"
       }
 
 in  H.HorizonExport.MakeOverlay
       { overlayFile = "overlay.nix"
       , packagesDir = "pkgs/"
-      , overlay = { compiler = "ghc-9.8.1", packages = toMap packages }
+      , overlay = { compiler = "ghc-9.12.1", packages = toMap packages }
       }
diff --git a/horizon.lock b/horizon.lock
index 7d535ba0f4fd58553107c0cec69d918a83af23a8..24d0b89ce261ab000d031cb5f2108a8d59593062 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -1,69 +1,85 @@
 [ { mapKey = "DPutils"
   , mapValue =
-      "183cfe93d04c6f18ac5bfcd81b16af4767eea035f47c9b01b77122d34817be80"
+      "2f9a8d0d27bb25dd092c8a53662d824c399ca295e492d4653fda29bebad13e05"
   }
 , { mapKey = "ForestStructures"
   , mapValue =
-      "77f4c43b1b48b7d6c0f75659a8074353e56a26d057e9ba150116882cdbb587d0"
+      "9e07e4f922f5ce5a51d59b2c0966aa56f4f3a849be303ef1db2134e3f3a74e8a"
   }
 , { mapKey = "Octree"
   , mapValue =
-      "0697a223d72245a0f0f0e7787c180ca81e01393fc8f621555a72036b98615c1e"
+      "f7905eb541527ed0629feb429e1186fef0090f586a73260cd8008f870b86e0de"
   }
 , { mapKey = "SciBaseTypes"
   , mapValue =
-      "1129c041a58ccca667314afc78db149fdb282cacf658512d015761b45b68f036"
+      "59815cbfb08e4c6eb227516a310a616ac7277fb6330ac0ec8943c815878c461e"
   }
 , { mapKey = "bimaps"
   , mapValue =
-      "8e7cc0da8671ca1a0609df72f5318b018f277eae60ebcf5343737b6e07480759"
+      "57f4909b43603e77431da69c97d642cb7c459b0023dfab807a7868d0272c4090"
   }
 , { mapKey = "biocore"
   , mapValue =
-      "c3ab330697400f4f11cd4301312d06c1088f11d702883b4801abfe14c40abdb4"
+      "784eae8fd7cc3244ab67577b1dd1ac2481db87de374e48a832667421819aeba0"
   }
 , { mapKey = "bits"
   , mapValue =
-      "41fb23ca43337f15f7d6bf75a8fa871e05f1c5f0f61b04bbf5c90fea1012e451"
+      "4e5feb8e609da2fd9ce9db9ad43a2232e49b200028525d2ac2c100797a5bb861"
   }
 , { mapKey = "blastxml"
   , mapValue =
-      "cabcff5416ff25b4ee9cc84165e46920c6f2be597f75aa1af9ad739f763f4d3b"
+      "57e760d061b16e3a62225cfdbd35c13b49449305d4af5d6b55ffdade80a54984"
   }
 , { mapKey = "cereal-text"
   , mapValue =
-      "a927dc45804b63a8f75f7432e6b87ecd09421f2dda58937a4824b612a26c236b"
+      "9b80dd99e6c6e0e2cc21dde1e6929055c564f3094a13f6fef8162ff3ded009fb"
   }
 , { mapKey = "hPDB"
   , mapValue =
-      "4f651e0e201e5bc422a71d1a2b5f6246ead7123e6774f0d7c424081493c6e584"
+      "a7569e3efe7ef7941df9d5d96ca993ecb747e0661e669b2c410e82bf4edaf12c"
   }
 , { mapKey = "intern"
   , mapValue =
-      "8d8e1a1436ab831088f7edd55d5e9b8c2c350b3893af12754d6af52eee2d9558"
+      "93872e1d296407d484d1e3cdfa766fc67e78b0e0df7c9f0865a12ec0f6adfa82"
   }
 , { mapKey = "iterable"
   , mapValue =
-      "4332d56f68aebb80cc58e899b547abebe8da30c215fb389425a0683a3700371b"
+      "856dfb6799f40798be538aef0ecf3104a89bfdc3af9b022e2444bc6c8cf078bc"
   }
 , { mapKey = "log-domain"
   , mapValue =
-      "73a613ca7a613ef19ac657427a9406a96c159c3062dac21b781f8620a7affa83"
+      "6c236f129308bcb673424f51b6b465ce5f32fcd76410db531de9520d7c036edf"
   }
 , { mapKey = "memexml"
   , mapValue =
-      "a13fd285ec121fbba353687c602ce1913cd084fc085cbb77b1acea858f614ac3"
+      "5fd60ceb2a91716083a497c0f9ea3ea4ff7a930f1e11f874dc72210873d33d82"
+  }
+, { mapKey = "pipes-safe"
+  , mapValue =
+      "aa90398c47ca1824eb663e328f7c0eccc2adbdbba1d3c3d5ccf139ad54e62939"
   }
 , { mapKey = "sequence-formats"
   , mapValue =
-      "9c51a27d3a671baaa2d2ad5ab83f36ca1a05c39abc9aa89768313e79cfc3486d"
+      "e42ee053c3b7a45315e1bf50a2455196e1ef16bc5b8cbfdb00254160e787a292"
+  }
+, { mapKey = "streaming"
+  , mapValue =
+      "5a37760869cef60afcc73170073706f0510cd660db771febfde2bfaa83f2de0f"
+  }
+, { mapKey = "streaming-bytestring"
+  , mapValue =
+      "b61440bbef75c6b132e40e6c9a5d033bafde857901c1d5350c50020091199090"
   }
 , { mapKey = "stringable"
   , mapValue =
-      "a092d279593143ad2b91de87036f162c0dc49e8f0c213c1384432542474565df"
+      "023076ff22bda82f70e70f38382ba09c44a25891cd93ff22804e16e62ec7a20b"
   }
 , { mapKey = "text-binary"
   , mapValue =
-      "5bddae81dffee094b6d5fe420597bd24bbd03a083ea47e866ff07eb9c05585e7"
+      "7c78ae6790815578fab04b19efad0cd6ea1ec17790d7306e18f154b4bfd40adc"
+  }
+, { mapKey = "timeit"
+  , mapValue =
+      "165b5da7c645e44649ec448c0020db53bb96004f41ae0aa16b8aae99267eb940"
   }
 ]
\ No newline at end of file
diff --git a/overlay.nix b/overlay.nix
index 7f25e6b048da017a7c224ba0dfcb8dbd7cb63fcd..28acf0f18dfe240ac48d996eee35be7aee87eea0 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -30,10 +30,18 @@ final: prev: with pkgs.haskell.lib; {
 
   memexml = f final prev "memexml" (final.callPackage (./pkgs/memexml.nix) { });
 
+  pipes-safe = f final prev "pipes-safe" (final.callPackage (./pkgs/pipes-safe.nix) { });
+
   sequence-formats = f final prev "sequence-formats" (final.callPackage (./pkgs/sequence-formats.nix) { });
 
+  streaming = f final prev "streaming" (final.callPackage (./pkgs/streaming.nix) { });
+
+  streaming-bytestring = f final prev "streaming-bytestring" (final.callPackage (./pkgs/streaming-bytestring.nix) { });
+
   stringable = f final prev "stringable" (final.callPackage (./pkgs/stringable.nix) { });
 
   text-binary = f final prev "text-binary" (final.callPackage (./pkgs/text-binary.nix) { });
 
+  timeit = f final prev "timeit" (final.callPackage (./pkgs/timeit.nix) { });
+
 }
diff --git a/pkgs/log-domain.nix b/pkgs/log-domain.nix
index 4a7dae45960487411868cce38b5d34553464dcd6..f525b212e6156729d1ce4e14837f17fcc7f023ed 100644
--- a/pkgs/log-domain.nix
+++ b/pkgs/log-domain.nix
@@ -5,8 +5,8 @@ mkDerivation {
   pname = "log-domain";
   version = "0.13.2";
   sha256 = "ca456ff514c36379e9edb856195cac1f9915228bcbba7781ac5b728666ea8e44";
-  revision = "3";
-  editedCabalFile = "0sw686ym4m03glrgyka4m6amvv1iai6cd9f043jnr607phkdjd0k";
+  revision = "4";
+  editedCabalFile = "1wavnqnay11b49swan3gb2wg5fvl6dqzgkma7vrvr94hyjzjxycn";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/pipes-safe.nix b/pkgs/pipes-safe.nix
new file mode 100644
index 0000000000000000000000000000000000000000..27d8c5d8e0d5b415f43cebb84e097f2ff4614d5f
--- /dev/null
+++ b/pkgs/pipes-safe.nix
@@ -0,0 +1,27 @@
+{ mkDerivation, base, containers, exceptions, lib, monad-control
+, mtl, pipes, primitive, transformers, transformers-base
+}:
+mkDerivation {
+  pname = "pipes-safe";
+  version = "2.3.5";
+  sha256 = "f0b2d191a8a86edd5efeadd2a3af785a0b889222720f27b2fbe69d54fc53d78e";
+  revision = "3";
+  editedCabalFile = "1wic8km3c17g2xrmxd4qj5qmppb76k7srxrgj8jg1vs6g2l7v6cs";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base containers exceptions monad-control mtl pipes primitive
+    transformers transformers-base
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Safety for the pipes ecosystem";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/streaming-bytestring.nix b/pkgs/streaming-bytestring.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5e4c01c8655689c755b3e59d40e51a001a23327d
--- /dev/null
+++ b/pkgs/streaming-bytestring.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, base, bytestring, deepseq, exceptions, ghc-prim
+, lib, mmorph, mtl, resourcet, smallcheck, streaming, tasty
+, tasty-hunit, tasty-smallcheck, transformers, transformers-base
+}:
+mkDerivation {
+  pname = "streaming-bytestring";
+  version = "0.3.3";
+  sha256 = "dbb60882e0956ed4eee6622eb98f98b1e0a41dbe03b9f176342a71c11dca6197";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base bytestring deepseq exceptions ghc-prim mmorph mtl resourcet
+    streaming transformers transformers-base
+  ];
+  testHaskellDepends = [
+    base bytestring resourcet smallcheck streaming tasty tasty-hunit
+    tasty-smallcheck transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-streaming/streaming-bytestring";
+  description = "Fast, effectful byte streams";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/streaming.nix b/pkgs/streaming.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a5f2beb887dc35b6f6150982a89e215fc3e4a7f5
--- /dev/null
+++ b/pkgs/streaming.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, QuickCheck, base, containers, ghc-prim, hspec, lib
+, mmorph, mtl, transformers, transformers-base
+}:
+mkDerivation {
+  pname = "streaming";
+  version = "0.2.4.0";
+  sha256 = "caddfba744a057174f94b3c2e6bce2d31f6bb7c436df0c0920269336f132dde0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base containers ghc-prim mmorph mtl transformers transformers-base
+  ];
+  testHaskellDepends = [ base hspec QuickCheck ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-streaming/streaming";
+  description = "an elementary streaming prelude and general stream type";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/timeit.nix b/pkgs/timeit.nix
new file mode 100644
index 0000000000000000000000000000000000000000..42a66ab59d2469a11377e0b27f7c325109ee1371
--- /dev/null
+++ b/pkgs/timeit.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "timeit";
+  version = "2.0";
+  sha256 = "a14df4e578db371e5c609f0784209144545f9cae90026d24a3398042f7c591ea";
+  revision = "2";
+  editedCabalFile = "1vgxfk2021jh6jk3dimchmf9f71844zj080342qvnn5lck7c7mrm";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/merijn/timeit";
+  description = "Time monadic computations with an IO base";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file