diff --git a/horizon.dhall b/horizon.dhall
index 1fc9a3c397e904f43a35432a03887751c8822100..8916a0f492f3c57bf5160a91f41c0674755f1242 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -8,18 +8,18 @@ let packages =
       , Cabal-QuickCheck =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
-            "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
+            "6c95f3fee3cdee859704b6476646cefd4628a850"
             (Some "Cabal-QuickCheck/")
       , Cabal-described =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
-            "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
+            "6c95f3fee3cdee859704b6476646cefd4628a850"
             (Some "Cabal-described/")
       , Cabal-syntax = H.callHackage "Cabal-syntax" "3.10.1.0"
       , Cabal-tree-diff =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
-            "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
+            "6c95f3fee3cdee859704b6476646cefd4628a850"
             (Some "Cabal-tree-diff/")
       , Chart = H.callHackage "Chart" "1.9.4"
       , Chart-diagrams = H.callHackage "Chart-diagrams" "1.9.4"
@@ -64,7 +64,7 @@ let packages =
       , aeson-qq = H.callHackage "aeson-qq" "0.8.4"
       , aeson-yaml = H.callHackage "aeson-yaml" "1.1.0.1"
       , alex = H.callHackage "alex" "3.2.7.1"
-      , algebraic-graphs = H.callHackage "algebraic-graphs" "0.7"
+      , algebraic-graphs = H.callHackage "algebraic-graphs" "0.6.1"
       , alsa-core = H.callHackage "alsa-core" "0.5.0.1"
       , alsa-mixer = H.callHackage "alsa-mixer" "0.3.0"
       , ansi-terminal = H.callHackage "ansi-terminal" "0.11.4"
diff --git a/pkgs/Cabal-QuickCheck.nix b/pkgs/Cabal-QuickCheck.nix
index 1820916992eaba7d8bda7df84245808c656b5c85..e644061234628ff5003f0861e123045ac5c652c0 100644
--- a/pkgs/Cabal-QuickCheck.nix
+++ b/pkgs/Cabal-QuickCheck.nix
@@ -1,19 +1,13 @@
-{ mkDerivation
-, Cabal
-, Cabal-syntax
-, QuickCheck
-, base
-, bytestring
-, fetchgit
-, lib
+{ mkDerivation, Cabal, Cabal-syntax, QuickCheck, base, bytestring
+, fetchgit, lib
 }:
 mkDerivation {
   pname = "Cabal-QuickCheck";
-  version = "3.9.0.0";
+  version = "3.10.1.0";
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/packages/Cabal";
-    sha256 = "13prqza1wk1gc0az8lizrm97w6rwxv5lzvy5a4gahpr2wsliqjfg";
-    rev = "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff";
+    sha256 = "19wz3prd374yfpb37v0zj2fxsf2aqvskbkwpwhnjqszn8j3ddihi";
+    rev = "6c95f3fee3cdee859704b6476646cefd4628a850";
     fetchSubmodules = true;
   };
   postUnpack = "sourceRoot+=/Cabal-QuickCheck/; echo source root reset to $sourceRoot";
@@ -21,11 +15,7 @@ mkDerivation {
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    base
-    bytestring
-    Cabal
-    Cabal-syntax
-    QuickCheck
+    base bytestring Cabal Cabal-syntax QuickCheck
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -37,4 +27,4 @@ mkDerivation {
   description = "QuickCheck instances for types in Cabal";
   license = "unknown";
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/Cabal-described.nix b/pkgs/Cabal-described.nix
index a1ea03a97bb8a024e0bf21b18b4a07f5ec843ee0..b9b56aaf2cdc7aec7e03e2925ea2a812a106465f 100644
--- a/pkgs/Cabal-described.nix
+++ b/pkgs/Cabal-described.nix
@@ -1,24 +1,14 @@
-{ mkDerivation
-, Cabal
-, Cabal-syntax
-, QuickCheck
-, base
-, containers
-, fetchgit
-, lib
-, pretty
-, rere
-, tasty
-, tasty-quickcheck
+{ mkDerivation, Cabal, Cabal-syntax, QuickCheck, base, containers
+, fetchgit, lib, pretty, rere, tasty, tasty-quickcheck
 , transformers
 }:
 mkDerivation {
   pname = "Cabal-described";
-  version = "3.9.0.0";
+  version = "3.10.1.0";
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/packages/Cabal";
-    sha256 = "13prqza1wk1gc0az8lizrm97w6rwxv5lzvy5a4gahpr2wsliqjfg";
-    rev = "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff";
+    sha256 = "19wz3prd374yfpb37v0zj2fxsf2aqvskbkwpwhnjqszn8j3ddihi";
+    rev = "6c95f3fee3cdee859704b6476646cefd4628a850";
     fetchSubmodules = true;
   };
   postUnpack = "sourceRoot+=/Cabal-described/; echo source root reset to $sourceRoot";
@@ -26,16 +16,8 @@ mkDerivation {
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    base
-    Cabal
-    Cabal-syntax
-    containers
-    pretty
-    QuickCheck
-    rere
-    tasty
-    tasty-quickcheck
-    transformers
+    base Cabal Cabal-syntax containers pretty QuickCheck rere tasty
+    tasty-quickcheck transformers
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -47,4 +29,4 @@ mkDerivation {
   description = "Described functionality for types in Cabal";
   license = "unknown";
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/Cabal-syntax.nix b/pkgs/Cabal-syntax.nix
index e5dbabac277accddbb78587bd72c88c219e28277..2f03fbcdc824a06f746220d30f5e5861e56d2237 100644
--- a/pkgs/Cabal-syntax.nix
+++ b/pkgs/Cabal-syntax.nix
@@ -1,20 +1,6 @@
-{ mkDerivation
-, array
-, base
-, binary
-, bytestring
-, containers
-, deepseq
-, directory
-, filepath
-, lib
-, mtl
-, parsec
-, pretty
-, text
-, time
-, transformers
-, unix
+{ mkDerivation, array, base, binary, bytestring, containers
+, deepseq, directory, filepath, lib, mtl, parsec, pretty, text
+, time, transformers, unix
 }:
 mkDerivation {
   pname = "Cabal-syntax";
@@ -24,21 +10,8 @@ mkDerivation {
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
-    array
-    base
-    binary
-    bytestring
-    containers
-    deepseq
-    directory
-    filepath
-    mtl
-    parsec
-    pretty
-    text
-    time
-    transformers
-    unix
+    array base binary bytestring containers deepseq directory filepath
+    mtl parsec pretty text time transformers unix
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -51,4 +24,4 @@ mkDerivation {
   description = "A library for working with .cabal files";
   license = lib.licenses.bsd3;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/Cabal-tree-diff.nix b/pkgs/Cabal-tree-diff.nix
index 33a33ae74aa414dba564afff166b28b8665d0441..49514f7ee5fc597aa5a0386fb52679b8025dfe58 100644
--- a/pkgs/Cabal-tree-diff.nix
+++ b/pkgs/Cabal-tree-diff.nix
@@ -1,18 +1,12 @@
-{ mkDerivation
-, Cabal
-, Cabal-syntax
-, base
-, fetchgit
-, lib
-, tree-diff
+{ mkDerivation, Cabal, Cabal-syntax, base, fetchgit, lib, tree-diff
 }:
 mkDerivation {
   pname = "Cabal-tree-diff";
-  version = "3.9.0.0";
+  version = "3.10.1.0";
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/packages/Cabal";
-    sha256 = "13prqza1wk1gc0az8lizrm97w6rwxv5lzvy5a4gahpr2wsliqjfg";
-    rev = "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff";
+    sha256 = "19wz3prd374yfpb37v0zj2fxsf2aqvskbkwpwhnjqszn8j3ddihi";
+    rev = "6c95f3fee3cdee859704b6476646cefd4628a850";
     fetchSubmodules = true;
   };
   postUnpack = "sourceRoot+=/Cabal-tree-diff/; echo source root reset to $sourceRoot";
@@ -30,4 +24,4 @@ mkDerivation {
   description = "QuickCheck instances for types in Cabal";
   license = "unknown";
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/Cabal.nix b/pkgs/Cabal.nix
index b1a2005d2bb5e92f419510ec0b7a9b82b7e5eec7..1ea0f4a35a9e5f4bfcdc2975fd0818bc8dfd7add 100644
--- a/pkgs/Cabal.nix
+++ b/pkgs/Cabal.nix
@@ -1,21 +1,6 @@
-{ mkDerivation
-, Cabal-syntax
-, array
-, base
-, bytestring
-, containers
-, deepseq
-, directory
-, filepath
-, lib
-, mtl
-, parsec
-, pretty
-, process
-, text
-, time
-, transformers
-, unix
+{ mkDerivation, Cabal-syntax, array, base, bytestring, containers
+, deepseq, directory, filepath, lib, mtl, parsec, pretty, process
+, text, time, transformers, unix
 }:
 mkDerivation {
   pname = "Cabal";
@@ -26,22 +11,8 @@ mkDerivation {
   enableSeparateDataOutput = false;
   setupHaskellDepends = [ mtl parsec ];
   libraryHaskellDepends = [
-    array
-    base
-    bytestring
-    Cabal-syntax
-    containers
-    deepseq
-    directory
-    filepath
-    mtl
-    parsec
-    pretty
-    process
-    text
-    time
-    transformers
-    unix
+    array base bytestring Cabal-syntax containers deepseq directory
+    filepath mtl parsec pretty process text time transformers unix
   ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
@@ -54,4 +25,4 @@ mkDerivation {
   description = "A framework for packaging Haskell software";
   license = lib.licenses.bsd3;
   broken = false;
-}
+}
\ No newline at end of file
diff --git a/pkgs/algebraic-graphs.nix b/pkgs/algebraic-graphs.nix
index 8bd1e051f13e2d9d7e8cf3db38ef7163245ddb5d..6bf44c33aee64636b4d288d1b6a4e6762c26db6b 100644
--- a/pkgs/algebraic-graphs.nix
+++ b/pkgs/algebraic-graphs.nix
@@ -3,8 +3,8 @@
 }:
 mkDerivation {
   pname = "algebraic-graphs";
-  version = "0.7";
-  sha256 = "51159a0d18690ab51e6709e3c576275402f96f57d901f87d734da6854582e568";
+  version = "0.6.1";
+  sha256 = "2d64982591929cbc9a2f184eeb7271b8a4096672fe725c928ea4b97aeac40a99";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;