diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,6 +5,16 @@
 ## Unreleased changes
 
 
+## Version 0.5.0
+
+-   `modLen`, `modSup`.
+-   Newtype wrappers for branch length, branch support, and node name. Those data
+    types and some functions were also renamed.
+-   Add `Path`, and `getSubTreeUnsafe` to tree zipper.
+-   Rename `unsafe` functions so that `unsafe` is at the end.
+-   Many small changes.
+
+
 ## Version 0.4.1
 
 -   Improve `TimeSpec` (Point process).
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 # The ELynx Suite
 
-Version: 0.4.1.
+Version: 0.5.0.
 Reproducible evolution made easy.
 
 <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>
@@ -90,9 +90,9 @@
 
     slynx --help | head -n -16
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] 
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -137,9 +137,9 @@
 
     slynx concatenate --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx concatenate (-a|--alphabet NAME) INPUT-FILE
       Concatenate sequences found in input files.
@@ -158,9 +158,9 @@
 
     slynx examine --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx examine (-a|--alphabet NAME) INPUT-FILE [--per-site]
       Examine sequences. If data is a multi sequence alignment, additionally analyze columns.
@@ -180,9 +180,9 @@
 
     slynx filter-rows --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx filter-rows (-a|--alphabet NAME) INPUT-FILE [--longer-than LENGTH] 
                              [--shorter-than LENGTH] [--standard-characters]
@@ -203,9 +203,9 @@
 
     slynx filter-columns --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx filter-columns (-a|--alphabet NAME) INPUT-FILE 
                                 [--standard-chars DOUBLE]
@@ -227,9 +227,9 @@
 
     slynx simulate --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL] 
                           [-m|--mixture-model MODEL] [-e|--edm-file NAME] 
@@ -306,9 +306,9 @@
 
     slynx sub-sample --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx sub-sample (-a|--alphabet NAME) INPUT-FILE
                             (-n|--number-of-sites INT)
@@ -336,9 +336,9 @@
 
     slynx translate --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: slynx translate (-a|--alphabet NAME) INPUT-FILE (-r|--reading-frame INT)
                            (-u|--universal-code CODE)
@@ -361,9 +361,9 @@
 
     tlynx --help | head -n -16
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: tlynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] 
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -401,9 +401,9 @@
 
     tlynx compare --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: tlynx compare [-n|--normalize] [-b|--bipartitions] [-t|--intersect] 
                          [-f|--newick-format FORMAT] NAMES
@@ -430,9 +430,9 @@
 
     tlynx examine --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: tlynx examine INPUT-FILE [-f|--newick-format FORMAT]
       Compute summary statistics of phylogenetic trees.
@@ -454,9 +454,9 @@
 
     tlynx simulate --help
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: tlynx simulate (-t|--nTrees INT) (-n|--nLeaves INT) PROCESS 
                           [-u|--sub-sample DOUBLE] [-s|--summary-statistics] 
@@ -491,9 +491,9 @@
 
     elynx --help | head -n -16
 
-    ELynx Suite version 0.4.1.
+    ELynx Suite version 0.5.0.
     Developed by Dominik Schrempf.
-    Compiled on October 16, 2020, at 12:46 pm, UTC.
+    Compiled on November 10, 2020, at 14:29 pm, UTC.
     
     Usage: elynx COMMAND
       Validate and redo past ELynx analyses
diff --git a/elynx-seq.cabal b/elynx-seq.cabal
--- a/elynx-seq.cabal
+++ b/elynx-seq.cabal
@@ -1,6 +1,6 @@
 cabal-version:  2.2
 name:           elynx-seq
-version:        0.4.1
+version:        0.5.0
 synopsis:       Handle molecular sequences
 description:    Examine, modify, and simulate molecular sequences in a reproducible way. Please see the README on GitHub at <https://github.com/dschrempf/elynx>.
 category:       Bioinformatics
diff --git a/src/ELynx/Data/Character/Codon.hs b/src/ELynx/Data/Character/Codon.hs
--- a/src/ELynx/Data/Character/Codon.hs
+++ b/src/ELynx/Data/Character/Codon.hs
@@ -18,7 +18,7 @@
 -- - https://en.wikipedia.org/wiki/Genetic_code
 module ELynx.Data.Character.Codon
   ( Codon (Codon),
-    unsafeFromVec,
+    fromVecUnsafe,
     UniversalCode (..),
     translate,
     translateX,
@@ -50,8 +50,8 @@
 
 -- | Unsafe conversion from vector with at least three elements; only the first
 -- three elements are used, the rest is discarded.
-unsafeFromVec :: V.Vector v a => v a -> Codon a
-unsafeFromVec xs =
+fromVecUnsafe :: V.Vector v a => v a -> Codon a
+fromVecUnsafe xs =
   Codon (V.head xs, V.head . V.tail $ xs, V.head . V.tail . V.tail $ xs)
 
 -- | Universal codes.
diff --git a/src/ELynx/Data/Sequence/Translate.hs b/src/ELynx/Data/Sequence/Translate.hs
--- a/src/ELynx/Data/Sequence/Translate.hs
+++ b/src/ELynx/Data/Sequence/Translate.hs
@@ -49,5 +49,5 @@
   | rf < 0 = error "translateVecWith: reading frame is negative."
   | otherwise = aas
   where
-    codons = map unsafeFromVec $ chopVec 3 $ V.drop rf cs
+    codons = map fromVecUnsafe $ chopVec 3 $ V.drop rf cs
     aas = V.fromList $ map f codons
