diff --git a/dirichlet.cabal b/dirichlet.cabal
--- a/dirichlet.cabal
+++ b/dirichlet.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               dirichlet
-version:            0.1.0.2
+version:            0.1.0.4
 license:            BSD-3-Clause
 license-file:       LICENSE
 copyright:          Dominik Schrempf 2020
@@ -24,12 +24,12 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wunused-packages
     build-depends:
-        base >=4.14.1.0 && <4.15,
-        log-domain ==0.13.*,
-        math-functions >=0.3.4.1 && <0.4,
-        mwc-random >=0.14.0.0 && <0.15,
-        primitive >=0.7.1.0 && <0.8,
-        vector >=0.12.1.2 && <0.13
+        base >=4.14.1.0 && <5,
+        log-domain >=0.13.1,
+        math-functions >=0.3.4.2,
+        mwc-random >=0.14.0.0,
+        primitive >=0.7.1.0,
+        vector >=0.12.3.0
 
 test-suite dirichlet-test
     type:             exitcode-stdio-1.0
@@ -39,9 +39,9 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wunused-packages
     build-depends:
-        base >=4.14.1.0 && <4.15,
+        base >=4.14.1.0 && <5,
         dirichlet -any,
-        hspec >=2.7.4 && <2.8,
-        log-domain ==0.13.*,
-        mwc-random >=0.14.0.0 && <0.15,
-        vector >=0.12.1.2 && <0.13
+        hspec >=2.7.10,
+        log-domain >=0.13.1,
+        mwc-random >=0.14.0.0,
+        vector >=0.12.3.0
diff --git a/src/Statistics/Distribution/Dirichlet.hs b/src/Statistics/Distribution/Dirichlet.hs
--- a/src/Statistics/Distribution/Dirichlet.hs
+++ b/src/Statistics/Distribution/Dirichlet.hs
@@ -31,7 +31,7 @@
 import System.Random.MWC
 import System.Random.MWC.Distributions
 
--- | The Dirichlet distribution is identified by a vector of parameter values.
+-- | The [Dirichlet distribution](https://en.wikipedia.org/wiki/Dirichlet_distribution).
 data DirichletDistribution = DirichletDistribution
   { ddGetParameters :: V.Vector Double,
     _getDimension :: Int,
@@ -53,7 +53,9 @@
 -- | Create a Dirichlet distribution from the given parameter vector.
 --
 -- Return Left if:
+--
 -- - The parameter vector has less then two elements.
+--
 -- - One or more parameters are negative or zero.
 dirichletDistribution :: V.Vector Double -> Either String DirichletDistribution
 dirichletDistribution v
@@ -76,8 +78,11 @@
 -- | Density of the Dirichlet distribution evaluated at a given value vector.
 --
 -- Return 0 if:
+--
 -- - The value vector has a different length than the parameter vector.
+--
 -- - The value vector has elements being negative or zero.
+--
 -- - The value vector does not sum to 1.0 (with tolerance @eps = 1e-14@).
 dirichletDensity :: DirichletDistribution -> V.Vector Double -> Log Double
 dirichletDensity (DirichletDistribution as k c) xs
@@ -95,7 +100,7 @@
   let s = V.sum ys
   return $ V.map (/ s) ys
 
--- | The Dirichlet distribution is identified by a vector of parameter values.
+-- | See 'DirichletDistribution' but with parameter vector @replicate DIM VAL@.
 data DirichletDistributionSymmetric = DirichletDistributionSymmetric
   { ddSymGetParameter :: Double,
     _symGetDimension :: Int,
@@ -113,7 +118,9 @@
 -- | Create a symmetric Dirichlet distribution of given dimension and parameter.
 --
 -- Return Left if:
+--
 -- - The given dimension is smaller than two.
+--
 -- - The parameter is negative or zero.
 dirichletDistributionSymmetric :: Int -> Double -> Either String DirichletDistributionSymmetric
 dirichletDistributionSymmetric k a
@@ -127,8 +134,11 @@
 -- vector.
 --
 -- Return 0 if:
+--
 -- - The value vector has a different dimension.
+--
 -- - The value vector has elements being negative or zero.
+--
 -- - The value vector does not sum to 1.0 (with tolerance @eps = 1e-14@).
 dirichletDensitySymmetric :: DirichletDistributionSymmetric -> V.Vector Double -> Log Double
 dirichletDensitySymmetric (DirichletDistributionSymmetric a k c) xs
