diff --git a/horizon.dhall b/horizon.dhall
index 9743ec5c1f03e94646db813b4e47a43fbf118921..5e610bf7cca392f722d6ce5eb95dacb56cde3580 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -57,6 +57,10 @@ let packages =
       , blaze-svg = H.callHackage "blaze-svg" "0.3.7"
       , blaze-textual = H.callHackage "blaze-textual" "0.2.3.1"
       , breakpoint = H.callHackage "breakpoint" "0.1.3.0"
+      , byte-order = H.callHackage "byte-order" "0.1.3.1"
+      , bytebuild = H.callHackage "bytebuild" "0.3.16.1"
+      , byteslice = H.callHackage "byteslice" "0.2.13.1"
+      , bytesmith = H.callHackage "bytesmith" "0.3.11.0"
       , bytestring-strict-builder =
           H.callHackage "bytestring-strict-builder" "0.4.5.7"
       , bytestring-tree-builder =
@@ -70,6 +74,7 @@ let packages =
       , cassava-megaparsec = H.callHackage "cassava-megaparsec" "2.1.0"
       , cheapskate = H.callHackage "cheapskate" "0.1.1.2"
       , checkers = H.callHackage "checkers" "0.6.0"
+      , chronos = H.callHackage "chronos" "1.1.6.0"
       , circle-packing = H.callHackage "circle-packing" "0.1.0.6"
       , citeproc = H.callHackage "citeproc" "0.8.1"
       , cmark-gfm = H.callHackage "cmark-gfm" "0.2.6"
@@ -98,6 +103,7 @@ let packages =
       , conduit-parse = H.callHackage "conduit-parse" "0.2.1.1"
       , conformance = H.callHackage "conformance" "0.1.0.0"
       , conformance-gen = H.callHackage "conformance-gen" "0.0.0.0"
+      , contiguous = H.callHackage "contiguous" "0.6.4.2"
       , contravariant-extras = H.callHackage "contravariant-extras" "0.3.5.4"
       , control-monad-free = H.callHackage "control-monad-free" "0.6.2"
       , cpphs = H.callHackage "cpphs" "1.20.9.1"
@@ -520,6 +526,7 @@ let packages =
       , primitive = H.callHackage "primitive" "0.9.0.0"
       , primitive-addr = H.callHackage "primitive-addr" "0.1.0.2"
       , primitive-offset = H.callHackage "primitive-offset" "0.2.0.0"
+      , primitive-unaligned = H.callHackage "primitive-unaligned" "0.1.1.2"
       , primitive-unlifted = H.callHackage "primitive-unlifted" "2.1.0.0"
       , prometheus-client = H.callHackage "prometheus-client" "1.1.1"
       , prometheus-metrics-ghc =
@@ -558,6 +565,7 @@ let packages =
       , retry = H.callHackage "retry" "0.9.3.1"
       , rope-utf16-splay = H.callHackage "rope-utf16-splay" "0.4.0.0"
       , row-types = H.callHackage "row-types" "1.0.1.2"
+      , run-st = H.callHackage "run-st" "0.1.3.2"
       , rvar = H.callHackage "rvar" "0.3.0.2"
       , sandwich = H.callHackage "sandwich" "0.2.1.0"
       , say = H.callHackage "say" "0.1.0.1"
@@ -654,6 +662,7 @@ let packages =
       , th-env = H.callHackage "th-env" "0.1.1"
       , these-skinny = H.callHackage "these-skinny" "0.7.5"
       , threads = H.callHackage "threads" "0.5.1.8"
+      , thyme = H.callHackage "thyme" "0.4"
       , tidal = H.callHackage "tidal" "1.9.4"
       , tidal-link = H.callHackage "tidal-link" "1.0.1"
       , time-locale-compat = H.callHackage "time-locale-compat" "0.1.1.5"
@@ -664,6 +673,7 @@ let packages =
       , torsor = H.callHackage "torsor" "0.1"
       , transformers-except = H.callHackage "transformers-except" "0.1.4"
       , tuple = H.callHackage "tuple" "0.3.0.2"
+      , tuples = H.callHackage "tuples" "0.1.0.0"
       , type-errors-pretty = H.callHackage "type-errors-pretty" "0.0.1.2"
       , type-hint = H.callHackage "type-hint" "0.1"
       , typerep-map = H.callHackage "typerep-map" "0.6.0.0"
@@ -717,6 +727,7 @@ let packages =
       , wuss = H.callHackage "wuss" "2.0.1.5"
       , xml-conduit-writer = H.callHackage "xml-conduit-writer" "0.1.1.4"
       , xss-sanitize = H.callHackage "xss-sanitize" "0.3.7.2"
+      , zigzag = H.callHackage "zigzag" "0.1.0.0"
       , zlib-bindings = H.callHackage "zlib-bindings" "0.1.1.5"
       }
 
diff --git a/horizon.lock b/horizon.lock
index 84b487c7fffa4d915c6a05c451c1f51a99099650..e2c2481369d0a0ed4e3f48fbd2a312ca5c87fccf 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -214,6 +214,22 @@
   , mapValue =
       "2df70e87f8db3a9f6e90302cab0e2392de84b5c7140d5c79ab512a7098fc9b7e"
   }
+, { mapKey = "byte-order"
+  , mapValue =
+      "593a4d65fd3c2beec7b2213730500f595f15d0dfe5ec32f9c9c91f3a3ccb543d"
+  }
+, { mapKey = "bytebuild"
+  , mapValue =
+      "d5cf076fc505d393d0779b5e90056919b7b13f2dc8a764e237d9b38147a964f9"
+  }
+, { mapKey = "byteslice"
+  , mapValue =
+      "c121a498ed9902950d3c9b02bb2fabeb9f1806b9bd5dc932aee49c7e5ef322f9"
+  }
+, { mapKey = "bytesmith"
+  , mapValue =
+      "85f939ca953441fd5148e8018801a6f7ae527e466ef0516430769e5a20fb8d64"
+  }
 , { mapKey = "bytestring-strict-builder"
   , mapValue =
       "448b80daa77c9c10db0cd953237b71b9aaa5aca034aa623e23ded532e5d0d2ab"
@@ -258,6 +274,10 @@
   , mapValue =
       "e63727524541153770c8bf354f14f44664525acdf1131c1856f2d12b1c05b8f8"
   }
+, { mapKey = "chronos"
+  , mapValue =
+      "5e715591be2f16e3146cf982f2c411873c19774f8824439c7fd3d9325be58199"
+  }
 , { mapKey = "circle-packing"
   , mapValue =
       "5eb86b976a0c9883fe02dbd83db11a10833b60e3d91589fbdf712e01808b36d2"
@@ -350,6 +370,10 @@
   , mapValue =
       "6d0dfd39e96d2c35096755b09965e530e6be25624ea3e908f9798b31a0792600"
   }
+, { mapKey = "contiguous"
+  , mapValue =
+      "e3b9c94acf118bae1727da8651576d4904ded41cd61b348f687d15fabcf9355a"
+  }
 , { mapKey = "contravariant-extras"
   , mapValue =
       "0a527d0b7e0e20651cd21910243399d6fb7e8a5301290424249512d1867d0f53"
@@ -1598,6 +1622,10 @@
   , mapValue =
       "ef7f9a4168db2cb25bc549520c546fcd742d11394f23c311b639ba9a48939d62"
   }
+, { mapKey = "primitive-unaligned"
+  , mapValue =
+      "3a62c891490be5eb9cdf5684f042c1fd3fb65922c79371a6e57ebd1ea58a6be2"
+  }
 , { mapKey = "primitive-unlifted"
   , mapValue =
       "6363c16540857ce8277f470d7e63cec16e9c133464791998606a9bb7a3fe99d5"
@@ -1722,6 +1750,10 @@
   , mapValue =
       "d9e1b26d3fc894f6d568bf15d47df207b08aebae8634ef79406af7447f2e3cbf"
   }
+, { mapKey = "run-st"
+  , mapValue =
+      "8831f0ac913d1c9a6b3bf7575d013cf5d93878dbb8020e04cbb5551a7926cafc"
+  }
 , { mapKey = "rvar"
   , mapValue =
       "e5963cf430f6d06490a8a007c39c6401a94b253d4f89c34dae82cc18e83b0e27"
@@ -2050,6 +2082,10 @@
   , mapValue =
       "b7da4553fb59a58efb0b9cfb8bf622c5b59442b103ab03e1645ad7ffc12e17b0"
   }
+, { mapKey = "thyme"
+  , mapValue =
+      "7ec8386f3537263308c2b2ba165dad3da4ad0a1eaae0f4eb60e90d9105644b7d"
+  }
 , { mapKey = "tidal"
   , mapValue =
       "b18e6f388c7c15408ebdba949be3fe6c48a4f2e722e808d4781c9137df459183"
@@ -2090,6 +2126,10 @@
   , mapValue =
       "d7cbb3e075555789df5331de8ff53672bec29213861c81ea0857753f62abc2f5"
   }
+, { mapKey = "tuples"
+  , mapValue =
+      "d676ba257e8c4a7c18ac29a8360a26992bdf8ab7735bcf5b3eec8f36a1b9b7a6"
+  }
 , { mapKey = "type-errors-pretty"
   , mapValue =
       "6346d73bcd23eb30587477c70d09095afee663adab5968e4e10adaea51725454"
@@ -2274,6 +2314,10 @@
   , mapValue =
       "3d0259f77ebbf5b798352533096d2d9e999e1dd5895bb94544b98f544ef29e5e"
   }
+, { mapKey = "zigzag"
+  , mapValue =
+      "83eb0dff618d89caf6f883209c54b74b0e7330cdabcd412cfd500ab0796227f2"
+  }
 , { mapKey = "zlib-bindings"
   , mapValue =
       "57093154c718d234ad03f31517c44ad4e6b9fd5fd97985d8089face727e207cf"
diff --git a/overlay.nix b/overlay.nix
index 4b5e27804aac0ee3368a357b4df10e847e04dbc3..44f644ed2863428236dd09746340d7849663c3ed 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -109,6 +109,14 @@ final: prev: with pkgs.haskell.lib; {
 
   breakpoint = final.callPackage (./pkgs/breakpoint.nix) { };
 
+  byte-order = final.callPackage (./pkgs/byte-order.nix) { };
+
+  bytebuild = final.callPackage (./pkgs/bytebuild.nix) { };
+
+  byteslice = final.callPackage (./pkgs/byteslice.nix) { };
+
+  bytesmith = final.callPackage (./pkgs/bytesmith.nix) { };
+
   bytestring-strict-builder = final.callPackage (./pkgs/bytestring-strict-builder.nix) { };
 
   bytestring-tree-builder = final.callPackage (./pkgs/bytestring-tree-builder.nix) { };
@@ -131,6 +139,8 @@ final: prev: with pkgs.haskell.lib; {
 
   checkers = final.callPackage (./pkgs/checkers.nix) { };
 
+  chronos = final.callPackage (./pkgs/chronos.nix) { };
+
   circle-packing = final.callPackage (./pkgs/circle-packing.nix) { };
 
   citeproc = final.callPackage (./pkgs/citeproc.nix) { };
@@ -177,6 +187,8 @@ final: prev: with pkgs.haskell.lib; {
 
   conformance-gen = final.callPackage (./pkgs/conformance-gen.nix) { };
 
+  contiguous = final.callPackage (./pkgs/contiguous.nix) { };
+
   contravariant-extras = final.callPackage (./pkgs/contravariant-extras.nix) { };
 
   control-monad-free = final.callPackage (./pkgs/control-monad-free.nix) { };
@@ -801,6 +813,8 @@ final: prev: with pkgs.haskell.lib; {
 
   primitive-offset = final.callPackage (./pkgs/primitive-offset.nix) { };
 
+  primitive-unaligned = final.callPackage (./pkgs/primitive-unaligned.nix) { };
+
   primitive-unlifted = final.callPackage (./pkgs/primitive-unlifted.nix) { };
 
   prometheus-client = final.callPackage (./pkgs/prometheus-client.nix) { };
@@ -863,6 +877,8 @@ final: prev: with pkgs.haskell.lib; {
 
   row-types = final.callPackage (./pkgs/row-types.nix) { };
 
+  run-st = final.callPackage (./pkgs/run-st.nix) { };
+
   rvar = final.callPackage (./pkgs/rvar.nix) { };
 
   sandwich = final.callPackage (./pkgs/sandwich.nix) { };
@@ -1027,6 +1043,8 @@ final: prev: with pkgs.haskell.lib; {
 
   threads = final.callPackage (./pkgs/threads.nix) { };
 
+  thyme = final.callPackage (./pkgs/thyme.nix) { };
+
   tidal = final.callPackage (./pkgs/tidal.nix) { };
 
   tidal-link = final.callPackage (./pkgs/tidal-link.nix) { };
@@ -1047,6 +1065,8 @@ final: prev: with pkgs.haskell.lib; {
 
   tuple = final.callPackage (./pkgs/tuple.nix) { };
 
+  tuples = final.callPackage (./pkgs/tuples.nix) { };
+
   type-errors-pretty = final.callPackage (./pkgs/type-errors-pretty.nix) { };
 
   type-hint = final.callPackage (./pkgs/type-hint.nix) { };
@@ -1139,6 +1159,8 @@ final: prev: with pkgs.haskell.lib; {
 
   xss-sanitize = final.callPackage (./pkgs/xss-sanitize.nix) { };
 
+  zigzag = final.callPackage (./pkgs/zigzag.nix) { };
+
   zlib-bindings = final.callPackage (./pkgs/zlib-bindings.nix) { };
 
 }
diff --git a/pkgs/byte-order.nix b/pkgs/byte-order.nix
new file mode 100644
index 0000000000000000000000000000000000000000..311c919cfade93b9b2987aaeb0daacd61cfdb46a
--- /dev/null
+++ b/pkgs/byte-order.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, base, lib, primitive, primitive-unaligned
+, wide-word
+}:
+mkDerivation {
+  pname = "byte-order";
+  version = "0.1.3.1";
+  sha256 = "eb98ea478d1a6b196f36c5e3673dbbd261728c5423cbeb0703d80f3560061f7a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base primitive primitive-unaligned wide-word
+  ];
+  testHaskellDepends = [ base primitive wide-word ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/byteverse/byte-order";
+  description = "Portable big-endian and little-endian conversions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/bytebuild.nix b/pkgs/bytebuild.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ae7a7836cb0c2a0026ff8b2820795088aafeeff3
--- /dev/null
+++ b/pkgs/bytebuild.nix
@@ -0,0 +1,38 @@
+{ mkDerivation, QuickCheck, base, byteslice, bytestring, gauge
+, haskell-src-meta, integer-logarithms, lib, natural-arithmetic
+, primitive, primitive-offset, quickcheck-instances, run-st, tasty
+, tasty-hunit, tasty-quickcheck, template-haskell, text, text-short
+, wide-word, zigzag
+}:
+mkDerivation {
+  pname = "bytebuild";
+  version = "0.3.16.1";
+  sha256 = "b9dfc9dce1053ccc338073097932a946b185f4c60ede9a48232ba09ff99a3cab";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base byteslice bytestring haskell-src-meta integer-logarithms
+    natural-arithmetic primitive primitive-offset run-st
+    template-haskell text text-short wide-word zigzag
+  ];
+  testHaskellDepends = [
+    base byteslice bytestring natural-arithmetic primitive QuickCheck
+    quickcheck-instances tasty tasty-hunit tasty-quickcheck text
+    text-short wide-word
+  ];
+  benchmarkHaskellDepends = [
+    base byteslice gauge natural-arithmetic primitive text-short
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/byteverse/bytebuild";
+  description = "Build byte arrays";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/byteslice.nix b/pkgs/byteslice.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8f86e83b117af79d9980ca901be71e85e3b97d68
--- /dev/null
+++ b/pkgs/byteslice.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, base, bytestring, gauge, lib, natural-arithmetic
+, primitive, primitive-addr, primitive-unlifted, quickcheck-classes
+, run-st, tasty, tasty-hunit, tasty-quickcheck, text, text-short
+, transformers, tuples, vector
+}:
+mkDerivation {
+  pname = "byteslice";
+  version = "0.2.13.1";
+  sha256 = "3f2c300de204e936bb8aa3b869b949a360566204fca6dd7d32b43cfc101983b1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base bytestring natural-arithmetic primitive primitive-addr
+    primitive-unlifted run-st text text-short tuples vector
+  ];
+  testHaskellDepends = [
+    base bytestring primitive quickcheck-classes tasty tasty-hunit
+    tasty-quickcheck text transformers
+  ];
+  benchmarkHaskellDepends = [ base gauge primitive ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/byteverse/byteslice";
+  description = "Slicing managed and unmanaged memory";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/bytesmith.nix b/pkgs/bytesmith.nix
new file mode 100644
index 0000000000000000000000000000000000000000..582b6f2298248ad100031ed0cb140f4aeddba833
--- /dev/null
+++ b/pkgs/bytesmith.nix
@@ -0,0 +1,34 @@
+{ mkDerivation, base, byte-order, byteslice, bytestring, contiguous
+, gauge, lib, natural-arithmetic, primitive, run-st, tasty
+, tasty-hunit, tasty-quickcheck, text-short, wide-word
+}:
+mkDerivation {
+  pname = "bytesmith";
+  version = "0.3.11.0";
+  sha256 = "7f6bd1b77dcb1428c9e10d073646c757046c46b41aeb21e6c34e7796db7d3a31";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base byteslice bytestring contiguous natural-arithmetic primitive
+    run-st text-short wide-word
+  ];
+  testHaskellDepends = [
+    base byte-order byteslice primitive tasty tasty-hunit
+    tasty-quickcheck text-short wide-word
+  ];
+  benchmarkHaskellDepends = [
+    base byteslice bytestring gauge primitive
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/bytesmith";
+  description = "Nonresumable byte parser";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/chronos.nix b/pkgs/chronos.nix
new file mode 100644
index 0000000000000000000000000000000000000000..aa99a38b18639555038b46af2495b9a633229ec0
--- /dev/null
+++ b/pkgs/chronos.nix
@@ -0,0 +1,40 @@
+{ mkDerivation, HUnit, QuickCheck, aeson, attoparsec, base
+, bytebuild, byteslice, bytesmith, bytestring, criterion, deepseq
+, hashable, lib, natural-arithmetic, old-locale, primitive
+, semigroups, test-framework, test-framework-hunit
+, test-framework-quickcheck2, text, text-short, thyme, time, torsor
+, vector
+}:
+mkDerivation {
+  pname = "chronos";
+  version = "1.1.6.0";
+  sha256 = "3a18a79b736ef35ae49d36e7a019a3f6f6aadb341003f462c268fb37693fa9dd";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson attoparsec base bytebuild byteslice bytesmith bytestring
+    deepseq hashable natural-arithmetic primitive semigroups text
+    text-short torsor vector
+  ];
+  testHaskellDepends = [
+    aeson attoparsec base bytestring deepseq HUnit QuickCheck
+    test-framework test-framework-hunit test-framework-quickcheck2 text
+    torsor
+  ];
+  benchmarkHaskellDepends = [
+    attoparsec base bytestring criterion deepseq old-locale QuickCheck
+    text text-short thyme time vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/chronos";
+  description = "A high-performance time library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/contiguous.nix b/pkgs/contiguous.nix
new file mode 100644
index 0000000000000000000000000000000000000000..65dca4aaa9167e57f477b0c68d07ed4a87fc707d
--- /dev/null
+++ b/pkgs/contiguous.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, QuickCheck, base, deepseq, lib, primitive
+, primitive-unlifted, quickcheck-classes, quickcheck-instances
+, random, random-shuffle, run-st, vector, weigh
+}:
+mkDerivation {
+  pname = "contiguous";
+  version = "0.6.4.2";
+  sha256 = "a8ead64063b68e5a0bf35b8b51f829de4f7815ab5cb380be58433e115b86c02b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base deepseq primitive primitive-unlifted run-st
+  ];
+  testHaskellDepends = [
+    base primitive QuickCheck quickcheck-classes quickcheck-instances
+    vector
+  ];
+  benchmarkHaskellDepends = [ base random random-shuffle weigh ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/byteverse/contiguous";
+  description = "Unified interface for primitive arrays";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/primitive-unaligned.nix b/pkgs/primitive-unaligned.nix
new file mode 100644
index 0000000000000000000000000000000000000000..539b1c4db86e6422e7afcffc61d82a6fe46f0139
--- /dev/null
+++ b/pkgs/primitive-unaligned.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, base, lib, primitive }:
+mkDerivation {
+  pname = "primitive-unaligned";
+  version = "0.1.1.2";
+  sha256 = "ea123532a46d24925e7364470ac899d521a9d6a00bb80c505b3696b0e21354cf";
+  revision = "4";
+  editedCabalFile = "0ya85xy2zs5fr3hb3hhhps34nrncj3ski7h2zc9d68i5zlhiacmf";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base primitive ];
+  testHaskellDepends = [ base primitive ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-primitive/primitive-unaligned";
+  description = "Unaligned access to primitive arrays";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/run-st.nix b/pkgs/run-st.nix
new file mode 100644
index 0000000000000000000000000000000000000000..74719ce54c2e19ac6b55b1f798cf873d1410022f
--- /dev/null
+++ b/pkgs/run-st.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, primitive, primitive-unlifted }:
+mkDerivation {
+  pname = "run-st";
+  version = "0.1.3.2";
+  sha256 = "edd9a2011f87855a38aa9d4c7d261fc2b79973ffc75b627b24e097ad1ca177b0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base primitive primitive-unlifted ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/run-st";
+  description = "runST without boxing penalty";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/thyme.nix b/pkgs/thyme.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ba73044e865c1b1c12963b42e00f1ece70c13bec
--- /dev/null
+++ b/pkgs/thyme.nix
@@ -0,0 +1,40 @@
+{ mkDerivation, QuickCheck, aeson, attoparsec, base, bytestring
+, containers, cpphs, criterion, deepseq, hashable, lib, mtl
+, old-locale, profunctors, random, template-haskell, text, time
+, vector, vector-space, vector-th-unbox
+}:
+mkDerivation {
+  pname = "thyme";
+  version = "0.4";
+  sha256 = "81f4a70c8f987df9908b757ed7138291eead9b206cc7aedd7594b29f63c51325";
+  revision = "1";
+  editedCabalFile = "0y7xc8q2n8lbfi0q4isj29w5qdy3bjlb8yywdyajjp9k1kp23vnr";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson attoparsec base bytestring containers deepseq hashable mtl
+    old-locale profunctors QuickCheck random template-haskell text time
+    vector vector-space vector-th-unbox
+  ];
+  libraryToolDepends = [ cpphs ];
+  testHaskellDepends = [
+    attoparsec base bytestring containers mtl old-locale profunctors
+    QuickCheck random text time vector-space
+  ];
+  benchmarkHaskellDepends = [
+    base criterion mtl old-locale profunctors QuickCheck random time
+    vector vector-space
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/fumieval/thyme";
+  description = "A faster time library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/tuples.nix b/pkgs/tuples.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3d9cfadde18516ed172b76b568ac86486b575144
--- /dev/null
+++ b/pkgs/tuples.nix
@@ -0,0 +1,28 @@
+{ mkDerivation, QuickCheck, base, lib, primitive
+, quickcheck-classes, tasty, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "tuples";
+  version = "0.1.0.0";
+  sha256 = "2590bb956598066fb5182d820827de0040f7e43d558bcbea6c35b5830115014f";
+  revision = "2";
+  editedCabalFile = "08d8f4svxfn6165438dvd4zh61wldrl7gsly8ip6x5svyvj3ygqb";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base primitive ];
+  testHaskellDepends = [
+    base primitive QuickCheck quickcheck-classes tasty tasty-quickcheck
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/tuples";
+  description = "Small monomorphic tuples";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file
diff --git a/pkgs/zigzag.nix b/pkgs/zigzag.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e009cd099b9961d9ef1a1e5b3eb8b8e27b486e3a
--- /dev/null
+++ b/pkgs/zigzag.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, lib, tasty, tasty-hunit, tasty-quickcheck }:
+mkDerivation {
+  pname = "zigzag";
+  version = "0.1.0.0";
+  sha256 = "f538e7db692aa6c760f092473fa69b416207b9e58c8c640c192b98f6778eafb3";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = true;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/byteverse/zigzag";
+  description = "Zigzag encoding of integers into unsigned integers";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file