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-tree.cabal b/elynx-tree.cabal
--- a/elynx-tree.cabal
+++ b/elynx-tree.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               elynx-tree
-version:            0.5.0.1
+version:            0.5.0.2
 license:            GPL-3.0-or-later
 license-file:       LICENSE
 copyright:          Dominik Schrempf (2020)
@@ -76,20 +76,20 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wunused-packages
     build-depends:
-        aeson >=1.5.4.1 && <1.6,
-        attoparsec >=0.13.2.4 && <0.14,
-        base >=4.14.1.0 && <4.15,
-        bytestring >=0.10.10.0 && <0.11,
-        comonad >=5.0.6 && <5.1,
-        containers >=0.6.2.1 && <0.7,
-        deepseq >=1.4.4.0 && <1.5,
-        double-conversion >=2.0.2.0 && <2.1,
-        elynx-nexus >=0.5.0.1 && <0.6,
-        math-functions >=0.3.4.1 && <0.4,
-        mwc-random >=0.14.0.0 && <0.15,
-        parallel >=3.2.2.0 && <3.3,
-        primitive >=0.7.1.0 && <0.8,
-        statistics >=0.15.2.0 && <0.16
+        aeson >=1.5.5.1,
+        attoparsec >=0.13.2.5,
+        base >=4.14.1.0,
+        bytestring >=0.10.12.0,
+        comonad >=5.0.8,
+        containers >=0.6.2.1,
+        deepseq >=1.4.4.0,
+        double-conversion >=2.0.2.0,
+        elynx-nexus >=0.5.0.2,
+        math-functions >=0.3.4.1,
+        mwc-random >=0.14.0.0,
+        parallel >=3.2.2.0,
+        primitive >=0.7.1.0,
+        statistics >=0.15.2.0
 
 test-suite tree-test
     type:             exitcode-stdio-1.0
@@ -113,14 +113,14 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wunused-packages
     build-depends:
-        QuickCheck >=2.13.2 && <2.14,
-        attoparsec >=0.13.2.4 && <0.14,
-        base >=4.14.1.0 && <4.15,
-        bytestring >=0.10.10.0 && <0.11,
-        containers >=0.6.2.1 && <0.7,
-        elynx-tools >=0.5.0.1 && <0.6,
+        QuickCheck >=2.14.2,
+        attoparsec >=0.13.2.5,
+        base >=4.14.1.0,
+        bytestring >=0.10.12.0,
+        containers >=0.6.2.1,
+        elynx-tools >=0.5.0.2,
         elynx-tree -any,
-        hspec >=2.7.4 && <2.8
+        hspec >=2.7.8
 
 benchmark tree-bench
     type:             exitcode-stdio-1.0
@@ -137,9 +137,9 @@
 
     build-depends:
         base >=4.7 && <5,
-        criterion >=1.5.7.0 && <1.6,
-        elynx-tools >=0.5.0.1 && <0.6,
+        criterion >=1.5.9.0,
+        elynx-tools >=0.5.0.2,
         elynx-tree -any,
-        microlens >=0.4.11.2 && <0.5,
-        mwc-random >=0.14.0.0 && <0.15,
-        parallel >=3.2.2.0 && <3.3
+        microlens >=0.4.11.2,
+        mwc-random >=0.14.0.0,
+        parallel >=3.2.2.0
