diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,9 +5,16 @@
 ## Unreleased changes
 
 
+## Version 0.7.0.1
+
+-   Random 1.2: Parallel functions now require an \`IOGenM\` random number
+    generator.
+-   Fix splitting of the random number generator.
+
+
 ## Version 0.6.1.1
 
--   Remove plotting functionality (gnuplot incompatible with ghc921).
+-   Remove plotting functionality (gnuplot incompatible with ghc922).
 -   Read files strictly.
 -   Refactor; flatten model hierarchy.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 # The ELynx Suite
 
-Version: 0.6.1.1.
+Version: 0.7.0.0.
 Reproducible evolution made easy.
 
 <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>
@@ -74,9 +74,9 @@
     # OR: slynx --help
 
     Up to date
-    ELynx Suite version 0.6.1.1.
+    ELynx Suite version 0.7.0.0.
     Developed by Dominik Schrempf.
-    Compiled on February 22, 2022, at 15:10 pm, UTC.
+    Compiled on July 10, 2022, at 08:48 am, UTC.
     
     Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME]
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -144,16 +144,16 @@
     # OR: slynx simulate --help
 
     Up to date
-    ELynx Suite version 0.6.1.1.
+    ELynx Suite version 0.7.0.0.
     Developed by Dominik Schrempf.
-    Compiled on February 22, 2022, at 15:10 pm, UTC.
+    Compiled on July 10, 2022, at 08:48 am, UTC.
     
     Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL]
                           [-m|--mixture-model MODEL] [-e|--edm-file NAME]
                           [-p|--siteprofile-files NAMES]
                           [-w|--mixture-model-weights "[DOUBLE,DOUBLE,...]"]
                           [-g|--gamma-rate-heterogeneity "(NCAT,SHAPE)"]
-                          (-l|--length NUMBER) [-S|--seed [INT]]
+                          (-l|--length NUMBER) [-S|--seed INT]
       Simulate multi sequence alignments.
     
     Available options:
@@ -175,8 +175,7 @@
       -g,--gamma-rate-heterogeneity "(NCAT,SHAPE)"
                                Number of gamma rate categories and shape parameter
       -l,--length NUMBER       Set alignment length to NUMBER
-      -S,--seed [INT]          Seed for random number generator; list of 32 bit
-                               integers with up to 256 elements (default: random)
+      -S,--seed INT            Seed for random number generator (default: random)
       -h,--help                Show this help text
     
     Substitution models:
diff --git a/elynx-seq.cabal b/elynx-seq.cabal
--- a/elynx-seq.cabal
+++ b/elynx-seq.cabal
@@ -1,97 +1,100 @@
-cabal-version:  3.0
-name:           elynx-seq
-version:        0.6.1.1
-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
-homepage:       https://github.com/dschrempf/elynx#readme
-bug-reports:    https://github.com/dschrempf/elynx/issues
-author:         Dominik Schrempf
-maintainer:     dominik.schrempf@gmail.com
-copyright:      Dominik Schrempf (2021)
-license:        GPL-3.0-or-later
-license-file:   LICENSE
-build-type:     Simple
+cabal-version:      3.0
+name:               elynx-seq
+version:            0.7.0.1
+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
+homepage:           https://github.com/dschrempf/elynx#readme
+bug-reports:        https://github.com/dschrempf/elynx/issues
+author:             Dominik Schrempf
+maintainer:         dominik.schrempf@gmail.com
+copyright:          2021 Dominik Schrempf
+license:            GPL-3.0-or-later
+license-file:       LICENSE
+build-type:         Simple
 extra-source-files:
-    README.md
-    ChangeLog.md
-    data/AminoAcid.fasta
-    data/Erroneous.fasta
-    data/NucleotideDifferentLength.fasta
-    data/NucleotideDifferentLengthTrimmed.fasta
-    data/Nucleotide.fasta
-    data/NucleotideIUPAC.fasta
-    data/TranslateMitochondrialVertebrateDNA.fasta
-    data/TranslateMitochondrialVertebrateProtein.fasta
+  ChangeLog.md
+  data/AminoAcid.fasta
+  data/Erroneous.fasta
+  data/Nucleotide.fasta
+  data/NucleotideDifferentLength.fasta
+  data/NucleotideDifferentLengthTrimmed.fasta
+  data/NucleotideIUPAC.fasta
+  data/TranslateMitochondrialVertebrateDNA.fasta
+  data/TranslateMitochondrialVertebrateProtein.fasta
+  README.md
 
 source-repository head
-  type: git
+  type:     git
   location: https://github.com/dschrempf/elynx
 
 library
   exposed-modules:
-      ELynx.Alphabet.Alphabet
-      ELynx.Alphabet.Character
-      ELynx.Alphabet.DistributionDiversity
-      ELynx.Character.AminoAcid
-      ELynx.Character.AminoAcidI
-      ELynx.Character.AminoAcidS
-      ELynx.Character.AminoAcidX
-      ELynx.Character.Character
-      ELynx.Character.Codon
-      ELynx.Character.Nucleotide
-      ELynx.Character.NucleotideI
-      ELynx.Character.NucleotideX
-      ELynx.Sequence.Alignment
-      ELynx.Sequence.Defaults
-      ELynx.Sequence.Distance
-      ELynx.Sequence.Sequence
-      ELynx.Sequence.Translate
-      ELynx.Sequence.Export.Fasta
-      ELynx.Sequence.Import.Fasta
-  other-modules:
-      Paths_elynx_seq
-  autogen-modules:
-      Paths_elynx_seq
-  hs-source-dirs: src
-  ghc-options: -Wall -Wunused-packages
+    ELynx.Alphabet.Alphabet
+    ELynx.Alphabet.Character
+    ELynx.Alphabet.DistributionDiversity
+    ELynx.Character.AminoAcid
+    ELynx.Character.AminoAcidI
+    ELynx.Character.AminoAcidS
+    ELynx.Character.AminoAcidX
+    ELynx.Character.Character
+    ELynx.Character.Codon
+    ELynx.Character.Nucleotide
+    ELynx.Character.NucleotideI
+    ELynx.Character.NucleotideX
+    ELynx.Sequence.Alignment
+    ELynx.Sequence.Defaults
+    ELynx.Sequence.Distance
+    ELynx.Sequence.Divergence
+    ELynx.Sequence.Export.Fasta
+    ELynx.Sequence.Import.Fasta
+    ELynx.Sequence.Sequence
+    ELynx.Sequence.Translate
+
+  other-modules:    Paths_elynx_seq
+  autogen-modules:  Paths_elynx_seq
+  hs-source-dirs:   src
+  ghc-options:      -Wall -Wunused-packages
   build-depends:
-      aeson
+    , aeson
     , attoparsec
-    , base >=4.7 && <5
+    , base             >=4.7 && <5
     , bytestring
     , containers
     , matrices
-    , mwc-random
     , parallel
     , primitive
+    , random
     , vector
     , vector-th-unbox
     , word8
+
   default-language: Haskell2010
 
 test-suite seq-test
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
+  type:             exitcode-stdio-1.0
+  main-is:          Spec.hs
   other-modules:
-      ELynx.Alphabet.DistributionDiversitySpec
-      ELynx.Sequence.AlignmentSpec
-      ELynx.Sequence.SequenceSpec
-      ELynx.Sequence.TranslateSpec
-      ELynx.Sequence.Export.FastaSpec
-      ELynx.Sequence.Import.FastaSpec
-      Paths_elynx_seq
-  autogen-modules:
-      Paths_elynx_seq
-  hs-source-dirs: test
-  ghc-options: -Wall -Wunused-packages
+    ELynx.Alphabet.DistributionDiversitySpec
+    ELynx.Sequence.AlignmentSpec
+    ELynx.Sequence.Export.FastaSpec
+    ELynx.Sequence.Import.FastaSpec
+    ELynx.Sequence.SequenceSpec
+    ELynx.Sequence.TranslateSpec
+    Paths_elynx_seq
+
+  autogen-modules:  Paths_elynx_seq
+  hs-source-dirs:   test
+  ghc-options:      -Wall -Wunused-packages
   build-depends:
-      base >=4.7 && <5
+    , base         >=4.7 && <5
     , bytestring
     , elynx-seq
     , elynx-tools
     , hspec
     , matrices
     , vector
+
   default-language: Haskell2010
diff --git a/src/ELynx/Alphabet/Alphabet.hs b/src/ELynx/Alphabet/Alphabet.hs
--- a/src/ELynx/Alphabet/Alphabet.hs
+++ b/src/ELynx/Alphabet/Alphabet.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  ELynx.Alphabet.Alphabet
 -- Description :  Alphabets store hereditary information
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Alphabet/Character.hs b/src/ELynx/Alphabet/Character.hs
--- a/src/ELynx/Alphabet/Character.hs
+++ b/src/ELynx/Alphabet/Character.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.Alphabet.Character
 -- Description :  Alphabet characters
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Alphabet/DistributionDiversity.hs b/src/ELynx/Alphabet/DistributionDiversity.hs
--- a/src/ELynx/Alphabet/DistributionDiversity.hs
+++ b/src/ELynx/Alphabet/DistributionDiversity.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  ELynx.Alphabet.DistributionDiversity
 -- Description :  Summarize statistics for alphabets
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/AminoAcid.hs b/src/ELynx/Character/AminoAcid.hs
--- a/src/ELynx/Character/AminoAcid.hs
+++ b/src/ELynx/Character/AminoAcid.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.AminoAcid
 -- Description :  Amino acid related types and functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/AminoAcidI.hs b/src/ELynx/Character/AminoAcidI.hs
--- a/src/ELynx/Character/AminoAcidI.hs
+++ b/src/ELynx/Character/AminoAcidI.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.AminoAcid
 -- Description :  Amino acid related types and functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/AminoAcidS.hs b/src/ELynx/Character/AminoAcidS.hs
--- a/src/ELynx/Character/AminoAcidS.hs
+++ b/src/ELynx/Character/AminoAcidS.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.AminoAcid
 -- Description :  Amino acid related types and functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/AminoAcidX.hs b/src/ELynx/Character/AminoAcidX.hs
--- a/src/ELynx/Character/AminoAcidX.hs
+++ b/src/ELynx/Character/AminoAcidX.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.AminoAcid
 -- Description :  Amino acid related types and functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/Character.hs b/src/ELynx/Character/Character.hs
--- a/src/ELynx/Character/Character.hs
+++ b/src/ELynx/Character/Character.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  Character
 -- Description :  Character interface
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/Codon.hs b/src/ELynx/Character/Codon.hs
--- a/src/ELynx/Character/Codon.hs
+++ b/src/ELynx/Character/Codon.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  ELynx.Character.Codon
 -- Description :  Codons are triplets of nucleotides
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/Nucleotide.hs b/src/ELynx/Character/Nucleotide.hs
--- a/src/ELynx/Character/Nucleotide.hs
+++ b/src/ELynx/Character/Nucleotide.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.Nucleotide
 -- Description :  Nucleotides
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/NucleotideI.hs b/src/ELynx/Character/NucleotideI.hs
--- a/src/ELynx/Character/NucleotideI.hs
+++ b/src/ELynx/Character/NucleotideI.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.NucleotideI
 -- Description :  Nucleotides with IUPAC characters
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Character/NucleotideX.hs b/src/ELynx/Character/NucleotideX.hs
--- a/src/ELynx/Character/NucleotideX.hs
+++ b/src/ELynx/Character/NucleotideX.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.NucleotideX
 -- Description :  Extended nucleotides including gaps and unknowns
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 --
 -- License     :  GPL-3.0-or-later
 --
diff --git a/src/ELynx/Sequence/Alignment.hs b/src/ELynx/Sequence/Alignment.hs
--- a/src/ELynx/Sequence/Alignment.hs
+++ b/src/ELynx/Sequence/Alignment.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Sequence.Alignment
 -- Description :  Multi sequence alignment related types and functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -45,7 +45,6 @@
 where
 
 import Control.Monad hiding (join)
-import Control.Monad.Primitive
 import Control.Parallel.Strategies
 import qualified Data.ByteString.Lazy.Char8 as BL
 import Data.List hiding
@@ -59,7 +58,7 @@
 import qualified ELynx.Alphabet.DistributionDiversity as D
 import ELynx.Sequence.Defaults
 import qualified ELynx.Sequence.Sequence as S
-import System.Random.MWC
+import System.Random.Stateful
 import Prelude hiding
   ( concat,
     length,
@@ -86,8 +85,8 @@
 fromSequences :: [S.Sequence] -> Either String Alignment
 fromSequences ss
   | S.equalLength ss && allEqual (map S.alphabet ss) =
-    Right $
-      Alignment ns ds a d
+      Right $
+        Alignment ns ds a d
   | S.equalLength ss = Left "Sequences do not have equal codes."
   | otherwise = Left "Sequences do not have equal lengths."
   where
@@ -160,11 +159,11 @@
 -- top bottom.
 join t b
   | length t /= length b =
-    error
-      "join: Multi sequence alignments do not have equal lengths."
+      error
+        "join: Multi sequence alignments do not have equal lengths."
   | alphabet t /= alphabet b =
-    error
-      "join: Multi sequence alignments do not have equal alphabets."
+      error
+        "join: Multi sequence alignments do not have equal alphabets."
   | otherwise = Alignment ns ds al (tD === bD)
   where
     ns = names t ++ names b
@@ -179,16 +178,16 @@
 -- left right.
 concat l r
   | nSequences l /= nSequences r =
-    error
-      "concat: Multi sequence alignments do not have an equal number of sequences."
+      error
+        "concat: Multi sequence alignments do not have an equal number of sequences."
   | alphabet l /= alphabet r =
-    error "concat: Multi sequence alignments do not have an equal alphabets."
+      error "concat: Multi sequence alignments do not have an equal alphabets."
   | names l /= names r =
-    error "concat: Multi sequence alignments do not have an equal names."
+      error "concat: Multi sequence alignments do not have an equal names."
   | descriptions l /= descriptions r =
-    error "concat: Multi sequence alignments do not have an equal descriptions."
+      error "concat: Multi sequence alignments do not have an equal descriptions."
   | otherwise =
-    Alignment (names l) (descriptions l) (alphabet l) (lD ||| rD)
+      Alignment (names l) (descriptions l) (alphabet l) (lD ||| rD)
   where
     lD = matrix l
     rD = matrix r
@@ -315,9 +314,8 @@
 subSample is a = a {matrix = m'} where m' = subSampleMatrix is $ matrix a
 
 -- | Randomly sample a given number of sites of the multi sequence alignment.
-randomSubSample ::
-  PrimMonad m => Int -> Alignment -> Gen (PrimState m) -> m Alignment
+randomSubSample :: StatefulGen g m => Int -> Alignment -> g -> m Alignment
 randomSubSample n a g = do
   let l = length a
-  is <- replicateM n $ uniformR (0, l - 1) g
+  is <- replicateM n $ uniformRM (0, l - 1) g
   return $ subSample is a
diff --git a/src/ELynx/Sequence/Defaults.hs b/src/ELynx/Sequence/Defaults.hs
--- a/src/ELynx/Sequence/Defaults.hs
+++ b/src/ELynx/Sequence/Defaults.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Defaults
 -- Description :  Various default values
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Sequence/Distance.hs b/src/ELynx/Sequence/Distance.hs
--- a/src/ELynx/Sequence/Distance.hs
+++ b/src/ELynx/Sequence/Distance.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Sequence.Distance
 -- Description :  Distance functions between sequences
--- Copyright   :  (c) Dominik Schrempf, 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Sequence/Divergence.hs b/src/ELynx/Sequence/Divergence.hs
new file mode 100644
--- /dev/null
+++ b/src/ELynx/Sequence/Divergence.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE KindSignatures #-}
+
+-- |
+-- Module      :  ELynx.Sequence.Divergence
+-- Description :  Compute divergence matrix between sequences
+-- Copyright   :  2022 Dominik Schrempf
+-- License     :  GPL-3.0-or-later
+--
+-- Maintainer  :  dominik.schrempf@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- Creation date: Thu Jul  7 17:55:23 2022.
+module ELynx.Sequence.Divergence
+  ( divergence,
+  )
+where
+
+import Control.Monad.Primitive
+import qualified Data.Matrix.Unboxed as MU
+import qualified Data.Matrix.Unboxed.Mutable as MU
+import Data.Maybe
+import qualified Data.Set as S
+import qualified Data.Vector.Unboxed as VU
+import qualified Data.Vector.Unboxed.Mutable as VUM
+import ELynx.Alphabet.Alphabet
+import ELynx.Sequence.Sequence
+import GHC.Exts (Constraint)
+
+type Context x = (VUM.Unbox x :: Constraint)
+
+modify :: (Context a, PrimMonad s) => MU.MMatrix (PrimState s) a -> (Int, Int) -> (a -> a) -> s ()
+modify m ij f = do
+  x <- MU.read m ij
+  MU.write m ij (f x)
+
+divergence :: Sequence -> Sequence -> Either String (MU.Matrix Int)
+divergence s1 s2
+  | not (alphabet s1 == alphabet s2) = err "sequences have different alphabets"
+  | not (equalLength [s1, s2]) = err "sequences have different lengths"
+  | otherwise = Right $ MU.create $ do
+      m <- MU.new (n, n)
+      -- Initialize matrix.
+      sequence_ [MU.write m (i, j) 0 | i <- [0 .. (n - 1)], j <- [0 .. (n - 1)]]
+      -- Fill matrix.
+      sequence_ $
+        catMaybes
+          [ do
+              -- Only treat sites where both characters are standard.
+              i <- mi
+              j <- mj
+              Just $ modify m (i, j) (+ 1)
+            | (x, y) <- zip (VU.toList cs1) (VU.toList cs2),
+              let mi = S.lookupIndex x a,
+              let mj = S.lookupIndex y a
+          ]
+      return m
+  where
+    err m = Left $ "divergence: " <> m
+    a = std $ alphabetSpec $ alphabet s1
+    n = S.size a
+    cs1 = characters s1
+    cs2 = characters s2
diff --git a/src/ELynx/Sequence/Export/Fasta.hs b/src/ELynx/Sequence/Export/Fasta.hs
--- a/src/ELynx/Sequence/Export/Fasta.hs
+++ b/src/ELynx/Sequence/Export/Fasta.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Sequence.Export.Fasta
 -- Description :  Export Fasta sequences
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 --
diff --git a/src/ELynx/Sequence/Import/Fasta.hs b/src/ELynx/Sequence/Import/Fasta.hs
--- a/src/ELynx/Sequence/Import/Fasta.hs
+++ b/src/ELynx/Sequence/Import/Fasta.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  ELynx.Sequence.Import.Fasta
 -- Description :  Import Fasta sequences
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 --
diff --git a/src/ELynx/Sequence/Sequence.hs b/src/ELynx/Sequence/Sequence.hs
--- a/src/ELynx/Sequence/Sequence.hs
+++ b/src/ELynx/Sequence/Sequence.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  ELynx.Sequence
 -- Description :  Hereditary sequences
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -198,28 +198,28 @@
 concat :: Sequence -> Sequence -> Sequence
 concat (Sequence i d c cs) (Sequence j f k ks)
   | i /= j =
-    error $
-      "concatenate: Sequences do not have equal names: "
-        ++ BL.unpack i
-        ++ ", "
-        ++ BL.unpack j
-        ++ "."
+      error $
+        "concatenate: Sequences do not have equal names: "
+          ++ BL.unpack i
+          ++ ", "
+          ++ BL.unpack j
+          ++ "."
   | d /= f =
-    error $
-      "concatenate: Sequences do not have equal descriptions: "
-        ++ BL.unpack d
-        ++ ", "
-        ++ BL.unpack f
-        ++ "."
+      error $
+        "concatenate: Sequences do not have equal descriptions: "
+          ++ BL.unpack d
+          ++ ", "
+          ++ BL.unpack f
+          ++ "."
   | c /= k =
-    error $
-      "concatenate: Sequences do not have equal alphabets: "
-        ++ show c
-        ++ ", "
-        ++ show k
-        ++ "."
+      error $
+        "concatenate: Sequences do not have equal alphabets: "
+          ++ show c
+          ++ ", "
+          ++ show k
+          ++ "."
   | otherwise =
-    Sequence i d c (cs <> ks)
+      Sequence i d c (cs <> ks)
 
 -- | Concatenate a list of sequences, see 'concat'.
 concatSequences :: [[Sequence]] -> [Sequence]
diff --git a/src/ELynx/Sequence/Translate.hs b/src/ELynx/Sequence/Translate.hs
--- a/src/ELynx/Sequence/Translate.hs
+++ b/src/ELynx/Sequence/Translate.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Sequence.Translate
 -- Description :  Translate sequences
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/test/ELynx/Alphabet/DistributionDiversitySpec.hs b/test/ELynx/Alphabet/DistributionDiversitySpec.hs
--- a/test/ELynx/Alphabet/DistributionDiversitySpec.hs
+++ b/test/ELynx/Alphabet/DistributionDiversitySpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Alphabet.DistributionDiversitySpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/test/ELynx/Sequence/AlignmentSpec.hs b/test/ELynx/Sequence/AlignmentSpec.hs
--- a/test/ELynx/Sequence/AlignmentSpec.hs
+++ b/test/ELynx/Sequence/AlignmentSpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Sequence.AlignmentSpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/test/ELynx/Sequence/Export/FastaSpec.hs b/test/ELynx/Sequence/Export/FastaSpec.hs
--- a/test/ELynx/Sequence/Export/FastaSpec.hs
+++ b/test/ELynx/Sequence/Export/FastaSpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Sequence.Export.FastaSpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -24,11 +24,11 @@
 
 spec :: Spec
 spec =
-  describe "sequencesToFasta" $
-    it
+  describe "sequencesToFasta"
+    $ it
       "should create a fasta bytestring that, when parsed again, is the original sequence"
-      $ do
-        ss <- parseFileWith (fasta DNAI) fastaNucleotideIUPACFN
-        let f = sequencesToFasta ss
-            ss' = parseByteStringWith (fasta DNAI) f
-        ss `shouldBe` ss'
+    $ do
+      ss <- parseFileWith (fasta DNAI) fastaNucleotideIUPACFN
+      let f = sequencesToFasta ss
+          ss' = parseByteStringWith (fasta DNAI) f
+      ss `shouldBe` ss'
diff --git a/test/ELynx/Sequence/Import/FastaSpec.hs b/test/ELynx/Sequence/Import/FastaSpec.hs
--- a/test/ELynx/Sequence/Import/FastaSpec.hs
+++ b/test/ELynx/Sequence/Import/FastaSpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Sequence.Import.FastaSpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/test/ELynx/Sequence/SequenceSpec.hs b/test/ELynx/Sequence/SequenceSpec.hs
--- a/test/ELynx/Sequence/SequenceSpec.hs
+++ b/test/ELynx/Sequence/SequenceSpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Sequence.SequenceSpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/test/ELynx/Sequence/TranslateSpec.hs b/test/ELynx/Sequence/TranslateSpec.hs
--- a/test/ELynx/Sequence/TranslateSpec.hs
+++ b/test/ELynx/Sequence/TranslateSpec.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Sequence.TranslateSpec
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
