diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,9 @@
+0.1.0.1
+-------
+Removed a useless type alias.
+
+
 0.1.0.0
 -------
-* initial release
+Initial release
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
 # elliptic-integrals
 
+<!-- badges: start -->
+[![Stack-lts](https://github.com/stla/elliptic-integrals/actions/workflows/Stack-lts.yml/badge.svg)](https://github.com/stla/elliptic-integrals/actions/workflows/Stack-lts.yml)
+[![Stack-nightly](https://github.com/stla/elliptic-integrals/actions/workflows/Stack-nightly.yml/badge.svg)](https://github.com/stla/elliptic-integrals/actions/workflows/Stack-nightly.yml)
+<!-- badges: end -->
+
+
 Evaluation of the Carlson elliptic integrals and the incomplete elliptic integrals with complex arguments.
diff --git a/elliptic-integrals.cabal b/elliptic-integrals.cabal
--- a/elliptic-integrals.cabal
+++ b/elliptic-integrals.cabal
@@ -1,5 +1,5 @@
 name:                elliptic-integrals
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Carlson Elliptic Integrals and Incomplete Elliptic Integrals
 description:         Evaluation of the Carlson elliptic integrals and the incomplete elliptic integrals with complex arguments.
 homepage:            https://github.com/stla/elliptic-integrals#readme
diff --git a/src/Math/EllipticIntegrals/Carlson.hs b/src/Math/EllipticIntegrals/Carlson.hs
--- a/src/Math/EllipticIntegrals/Carlson.hs
+++ b/src/Math/EllipticIntegrals/Carlson.hs
@@ -5,8 +5,8 @@
   carlsonRC, carlsonRC',
   carlsonRG, carlsonRG')
   where
-import           Data.Complex
-import           Math.EllipticIntegrals.Internal
+import Data.Complex                    ( magnitude, Complex )
+import Math.EllipticIntegrals.Internal ( Cplx, toCplx, atanC )
 
 rf_ :: Cplx -> Cplx -> Cplx -> Double -> ((Double,Double,Double), Cplx)
 rf_ x y z err =
@@ -22,10 +22,10 @@
 -- | Carlson integral RF.
 carlsonRF' :: 
      Double -- ^ bound on the relative error
-  -> Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+  -> Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRF' err x y z =
   if zeros > 1
     then error "At most one of x, y, z can be 0"
@@ -39,10 +39,10 @@
 
 -- | Carlson integral RF.
 carlsonRF :: 
-     Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+     Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRF = carlsonRF' 1e-15
 
 rd_ :: Cplx -> Cplx -> Cplx -> Cplx -> Cplx -> Double ->
@@ -61,10 +61,10 @@
 -- | Carlson integral RD.
 carlsonRD' ::
      Double -- ^ bound on the relative error
-  -> Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+  -> Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRD' err x y z =
   if zeros > 1
     then error "At most one of x, y, z can be 0"
@@ -83,10 +83,10 @@
 
 -- | Carlson integral RD.
 carlsonRD ::
-     Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+     Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRD = carlsonRD' 1e-15
 
 rj_ :: Cplx -> Cplx -> Cplx -> Cplx -> Cplx -> Double -> Cplx -> Int ->
@@ -111,11 +111,11 @@
 -- | Carlson integral RJ.
 carlsonRJ' ::
      Double -- ^ bound on the relative error
-  -> Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx   -- ^ fourth variable 
-  -> Cplx
+  -> Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double -- ^ fourth variable 
+  -> Complex Double
 carlsonRJ' err x y z p =
   if zeros > 1
     then error "At most one of x, y, z, p can be 0"
@@ -145,11 +145,11 @@
 
 -- | Carlson integral RJ.
 carlsonRJ ::
-     Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx   -- ^ fourth variable 
-  -> Cplx
+     Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double -- ^ fourth variable 
+  -> Complex Double
 carlsonRJ = carlsonRJ' 1e-15
 
 
@@ -169,9 +169,9 @@
 -- | Carlson integral RC.
 carlsonRC' ::
      Double -- ^ bound on the relative error
-  -> Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx
+  -> Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double
 carlsonRC' err x y =
   if y == 0
     then error "y cannot be 0"
@@ -188,19 +188,19 @@
 
 -- | Carlson integral RC.
 carlsonRC ::
-     Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx
+     Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double
 carlsonRC = carlsonRC' 1e-15
 
 
 -- | Carlson integral RG.
 carlsonRG' ::
      Double -- ^ bound on the relative error passed to `CarlsonRD'`
-  -> Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+  -> Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRG' err x y z =
   if zeros > 1
     then sqrt(x+y+z) / 2
@@ -216,9 +216,9 @@
 
 -- | Carlson integral RG.
 carlsonRG ::
-     Cplx   -- ^ first variable
-  -> Cplx   -- ^ second variable 
-  -> Cplx   -- ^ third variable 
-  -> Cplx
+     Complex Double -- ^ first variable
+  -> Complex Double -- ^ second variable 
+  -> Complex Double -- ^ third variable 
+  -> Complex Double
 carlsonRG = carlsonRG' 1e-15
 
diff --git a/src/Math/EllipticIntegrals/Elliptic.hs b/src/Math/EllipticIntegrals/Elliptic.hs
--- a/src/Math/EllipticIntegrals/Elliptic.hs
+++ b/src/Math/EllipticIntegrals/Elliptic.hs
@@ -1,15 +1,15 @@
 module Math.EllipticIntegrals.Elliptic
   where
-import Math.EllipticIntegrals.Carlson
-import Data.Complex
-import Math.EllipticIntegrals.Internal
+import Math.EllipticIntegrals.Carlson  ( carlsonRF', carlsonRD', carlsonRJ' )
+import Data.Complex                    ( realPart, Complex )
+import Math.EllipticIntegrals.Internal ( toCplx, getPhiK )
 
 -- | Elliptic integral of the first kind.
 ellipticF' :: 
      Double -- ^ bound on the relative error passed to `carlsonRF'`
-  -> Cplx   -- ^ amplitude
-  -> Cplx   -- ^ parameter
-  -> Cplx
+  -> Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticF' err phi m
   | phi == 0 =
     toCplx 0
@@ -32,17 +32,17 @@
 
 -- | Elliptic integral of the first kind.
 ellipticF :: 
-     Cplx -- ^ amplitude
-  -> Cplx -- ^ parameter
-  -> Cplx
+     Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticF = ellipticF' 1e-15
 
 -- | Elliptic integral of the second kind.
 ellipticE' :: 
      Double -- ^ bound on the relative error passed to `carlsonRF'` and `carlsonRD'` 
-  -> Cplx   -- ^ amplitude
-  -> Cplx   -- ^ parameter
-  -> Cplx
+  -> Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticE' err phi m
   | phi == 0 =
     toCplx 0
@@ -62,18 +62,18 @@
 
 -- | Elliptic integral of the second kind.
 ellipticE :: 
-     Cplx -- ^ amplitude
-  -> Cplx -- ^ parameter
-  -> Cplx
+     Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticE = ellipticE' 1e-15
 
 -- | Elliptic integral of the third kind.
 ellipticPI' :: 
      Double -- ^ bound on the relative error passed to `carlsonRF'` and `carlsonRJ'` 
-  -> Cplx   -- ^ amplitude
-  -> Cplx   -- ^ characteristic
-  -> Cplx   -- ^ parameter
-  -> Cplx
+  -> Complex Double -- ^ amplitude
+  -> Complex Double -- ^ characteristic
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticPI' err phi n m
   | phi == 0 =
     toCplx 0
@@ -97,18 +97,18 @@
 
 -- | Elliptic integral of the third kind.
 ellipticPI ::
-     Cplx -- ^ amplitude
-  -> Cplx -- ^ characteristic
-  -> Cplx -- ^ parameter
-  -> Cplx
+     Complex Double -- ^ amplitude
+  -> Complex Double -- ^ characteristic
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 ellipticPI = ellipticPI' 1e-15
 
 -- | Jacobi zeta function.
 jacobiZeta' ::
      Double -- ^ bound on the relative error passed to `ellipticF'` and `ellipticE'` 
-  -> Cplx   -- ^ amplitude
-  -> Cplx   -- ^ parameter
-  -> Cplx
+  -> Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 jacobiZeta' err phi m =
   if m == 1
     then
@@ -122,8 +122,8 @@
 
 -- | Jacobi zeta function.
 jacobiZeta ::
-     Cplx -- ^ amplitude
-  -> Cplx -- ^ parameter
-  -> Cplx
+     Complex Double -- ^ amplitude
+  -> Complex Double -- ^ parameter
+  -> Complex Double
 jacobiZeta = jacobiZeta' 1e-15
 
diff --git a/src/Math/EllipticIntegrals/Internal.hs b/src/Math/EllipticIntegrals/Internal.hs
--- a/src/Math/EllipticIntegrals/Internal.hs
+++ b/src/Math/EllipticIntegrals/Internal.hs
@@ -1,6 +1,6 @@
 module Math.EllipticIntegrals.Internal
   where
-import Data.Complex
+import Data.Complex ( realPart, Complex(..) )
 
 type Cplx = Complex Double
 
