diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -4,6 +4,10 @@
 
 ## Unreleased changes
 
+
+## Version 0.5.0.2
+
+-   Speed up mixture model simulation.
 -   Improve rooting functions.
 -   Improve `Topology` data type (but still a lot to do).
 -   Various additions to the documentation.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 # The ELynx Suite
 
-Version: 0.5.0.1.
+Version: 0.5.0.2.
 Reproducible evolution made easy.
 
 <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>
@@ -73,9 +73,9 @@
 
     slynx --help | head -n -16
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] 
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -90,7 +90,7 @@
                                Specify base name of output file
       -f,--force               Ignore previous analysis and overwrite existing
                                output files.
-      --no-elynx-file          Do not write files for needed for reproducibility.
+      --no-elynx-file          Do not write data required to reproduce an analysis.
     
     Available commands:
       concatenate              Concatenate sequences found in input files.
@@ -120,9 +120,9 @@
 
     slynx concatenate --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx concatenate (-a|--alphabet NAME) INPUT-FILE
       Concatenate sequences found in input files.
@@ -141,9 +141,9 @@
 
     slynx examine --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx examine (-a|--alphabet NAME) INPUT-FILE [--per-site]
       Examine sequences. If data is a multi sequence alignment, additionally analyze columns.
@@ -163,9 +163,9 @@
 
     slynx filter-rows --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx filter-rows (-a|--alphabet NAME) INPUT-FILE [--longer-than LENGTH] 
                              [--shorter-than LENGTH] [--standard-characters]
@@ -186,9 +186,9 @@
 
     slynx filter-columns --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx filter-columns (-a|--alphabet NAME) INPUT-FILE 
                                 [--standard-chars DOUBLE]
@@ -210,9 +210,9 @@
 
     slynx simulate --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL] 
                           [-m|--mixture-model MODEL] [-e|--edm-file NAME] 
@@ -289,9 +289,9 @@
 
     slynx sub-sample --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx sub-sample (-a|--alphabet NAME) INPUT-FILE
                             (-n|--number-of-sites INT)
@@ -319,9 +319,9 @@
 
     slynx translate --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: slynx translate (-a|--alphabet NAME) INPUT-FILE (-r|--reading-frame INT)
                            (-u|--universal-code CODE)
@@ -344,9 +344,9 @@
 
     tlynx --help | head -n -16
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: tlynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] 
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -361,7 +361,7 @@
                                Specify base name of output file
       -f,--force               Ignore previous analysis and overwrite existing
                                output files.
-      --no-elynx-file          Do not write files for needed for reproducibility.
+      --no-elynx-file          Do not write data required to reproduce an analysis.
     
     Available commands:
       compare                  Compare two phylogenetic trees (compute distances and branch-wise differences).
@@ -384,9 +384,9 @@
 
     tlynx compare --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: tlynx compare [-n|--normalize] [-b|--bipartitions] [-t|--intersect] 
                          [-f|--newick-format FORMAT] NAMES
@@ -413,9 +413,9 @@
 
     tlynx examine --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: tlynx examine INPUT-FILE [-f|--newick-format FORMAT]
       Compute summary statistics of phylogenetic trees.
@@ -437,9 +437,9 @@
 
     tlynx simulate --help
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: tlynx simulate (-t|--nTrees INT) (-n|--nLeaves INT) PROCESS 
                           [-u|--sub-sample DOUBLE] [-s|--summary-statistics] 
@@ -474,9 +474,9 @@
 
     elynx --help | head -n -16
 
-    ELynx Suite version 0.5.0.1.
+    ELynx Suite version 0.5.0.2.
     Developed by Dominik Schrempf.
-    Compiled on December 18, 2020, at 10:14 am, UTC.
+    Compiled on February 19, 2021, at 13:42 pm, UTC.
     
     Usage: elynx COMMAND
       Validate and redo past ELynx analyses
diff --git a/elynx-tools.cabal b/elynx-tools.cabal
--- a/elynx-tools.cabal
+++ b/elynx-tools.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               elynx-tools
-version:            0.5.0.1
+version:            0.5.0.2
 license:            GPL-3.0-or-later
 license-file:       LICENSE
 copyright:          Dominik Schrempf (2020)
@@ -44,25 +44,25 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wunused-packages
     build-depends:
-        aeson >=1.5.4.1 && <1.6,
-        attoparsec >=0.13.2.4 && <0.14,
+        aeson >=1.5.5.1,
+        attoparsec >=0.13.2.5,
         base >=4.7 && <5,
-        base16-bytestring >=0.1.1.7 && <0.2,
-        bytestring >=0.10.10.0 && <0.11,
-        cryptohash-sha256 >=0.11.101.0 && <0.12,
-        deepseq >=1.4.4.0 && <1.5,
-        directory >=1.3.6.0 && <1.4,
-        fast-logger >=3.0.2 && <3.1,
-        hmatrix >=0.20.0.0 && <0.21,
-        monad-control >=1.0.2.3 && <1.1,
-        monad-logger >=0.3.35 && <0.4,
-        mwc-random >=0.14.0.0 && <0.15,
-        optparse-applicative >=0.15.1.0 && <0.16,
-        primitive >=0.7.1.0 && <0.8,
-        template-haskell >=2.16.0.0 && <2.17,
-        text >=1.2.3.2 && <1.3,
-        time >=1.9.3 && <1.10,
-        transformers >=0.5.6.2 && <0.6,
-        transformers-base >=0.4.5.2 && <0.5,
-        vector >=0.12.1.2 && <0.13,
-        zlib >=0.6.2.2 && <0.7
+        base16-bytestring >=0.1.1.7,
+        bytestring >=0.10.12.0,
+        cryptohash-sha256 >=0.11.102.0,
+        deepseq >=1.4.4.0,
+        directory >=1.3.6.0,
+        fast-logger >=3.0.2,
+        hmatrix >=0.20.1,
+        monad-control >=1.0.2.3,
+        monad-logger >=0.3.36,
+        mwc-random >=0.14.0.0,
+        optparse-applicative >=0.15.1.0,
+        primitive >=0.7.1.0,
+        template-haskell >=2.16.0.0,
+        text >=1.2.4.1,
+        time >=1.9.3,
+        transformers >=0.5.6.2,
+        transformers-base >=0.4.5.2,
+        vector >=0.12.2.0,
+        zlib >=0.6.2.2
diff --git a/src/ELynx/Tools/Misc.hs b/src/ELynx/Tools/Misc.hs
--- a/src/ELynx/Tools/Misc.hs
+++ b/src/ELynx/Tools/Misc.hs
@@ -14,7 +14,6 @@
   ( -- * Weird stuff
     compose,
     allValues,
-    horizontalConcat,
   )
 where
 
@@ -25,11 +24,3 @@
 -- | Get all values of a bounded enumerated type.
 allValues :: (Bounded a, Enum a) => [a]
 allValues = [minBound ..]
-
--- | A brain f***. As an example, let @xss@ be a list of alignments (i.e., a
--- list of a list of a list of alleles). This function horizontally concatenates
--- the sites. The number of species needs to be same in each alignment. No
--- checks are performed!
-horizontalConcat :: [[[a]]] -> [[a]]
-horizontalConcat [xs] = xs
-horizontalConcat xss = foldr1 (zipWith (++)) xss
diff --git a/src/ELynx/Tools/Reproduction.hs b/src/ELynx/Tools/Reproduction.hs
--- a/src/ELynx/Tools/Reproduction.hs
+++ b/src/ELynx/Tools/Reproduction.hs
@@ -230,7 +230,7 @@
 
 writeELynxOpt :: Parser Bool
 writeELynxOpt = flag True False ( long "no-elynx-file"
-                                  <> help "Do not write files for needed for reproducibility." )
+                                  <> help "Do not write data required to reproduce an analysis." )
 
 -- | Random or fixed seed.
 data Seed = Random | Fixed (Vector Word32)
