diff --git a/lapack.cabal b/lapack.cabal
--- a/lapack.cabal
+++ b/lapack.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:    2.2
 Name:             lapack
-Version:          0.5.0.1
+Version:          0.5.0.2
 License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -53,7 +53,7 @@
   test-module.list
 
 Source-Repository this
-  Tag:         0.5.0.1
+  Tag:         0.5.0.2
   Type:        darcs
   Location:    https://hub.darcs.net/thielema/lapack/
 
diff --git a/src/Numeric/LAPACK/Linear/Plain.hs b/src/Numeric/LAPACK/Linear/Plain.hs
--- a/src/Numeric/LAPACK/Linear/Plain.hs
+++ b/src/Numeric/LAPACK/Linear/Plain.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/src/Numeric/LAPACK/Matrix/Array/Basic.hs b/src/Numeric/LAPACK/Matrix/Array/Basic.hs
--- a/src/Numeric/LAPACK/Matrix/Array/Basic.hs
+++ b/src/Numeric/LAPACK/Matrix/Array/Basic.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GADTs #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.Array.Basic where
 
 import qualified Numeric.LAPACK.Matrix.BandedHermitian.Basic as BandedHermitian
diff --git a/src/Numeric/LAPACK/Matrix/Array/Indexed.hs b/src/Numeric/LAPACK/Matrix/Array/Indexed.hs
--- a/src/Numeric/LAPACK/Matrix/Array/Indexed.hs
+++ b/src/Numeric/LAPACK/Matrix/Array/Indexed.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Matrix.Array.Indexed where
 
diff --git a/src/Numeric/LAPACK/Matrix/Array/Mosaic.hs b/src/Numeric/LAPACK/Matrix/Array/Mosaic.hs
--- a/src/Numeric/LAPACK/Matrix/Array/Mosaic.hs
+++ b/src/Numeric/LAPACK/Matrix/Array/Mosaic.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.Array.Mosaic where
 
 import qualified Numeric.LAPACK.Matrix.Mosaic.Basic as Mosaic
diff --git a/src/Numeric/LAPACK/Matrix/Array/Multiply.hs b/src/Numeric/LAPACK/Matrix/Array/Multiply.hs
--- a/src/Numeric/LAPACK/Matrix/Array/Multiply.hs
+++ b/src/Numeric/LAPACK/Matrix/Array/Multiply.hs
@@ -187,7 +187,7 @@
    ArrMatrix.Full meas vert horiz height width a ->
    ArrMatrix.Full meas vert horiz height width a
 transposableSquare trans a =
-   ($a) $
+   ($ a) $
    case ArrMatrix.shape a of
       Omni.Hermitian _ -> Hermitian.multiplyFull trans
       Omni.BandedHermitian _ -> BandedHermitian.multiplyFull trans
diff --git a/src/Numeric/LAPACK/Matrix/Array/Private.hs b/src/Numeric/LAPACK/Matrix/Array/Private.hs
--- a/src/Numeric/LAPACK/Matrix/Array/Private.hs
+++ b/src/Numeric/LAPACK/Matrix/Array/Private.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE GADTs #-}
@@ -661,27 +662,27 @@
    heightToQuadratic a@(Array _) =
       case shape a of
          Omni.Full _ ->
-            ($a) $ liftUnpacked1 $ Basic.mapExtent $
+            ($ a) $ liftUnpacked1 $ Basic.mapExtent $
                Extent.square . Extent.height
          Omni.UpperTriangular _ -> a
          Omni.LowerTriangular _ -> a
          Omni.Symmetric _ -> a
          Omni.Hermitian _ -> a
          Omni.Banded _ ->
-            ($a) $ lift1 $ Banded.mapExtentSizes $ Extent.square . Extent.height
+            ($ a) $ lift1 $ Banded.mapExtentSizes $ Extent.square . Extent.height
          Omni.UnitBandedTriangular _ -> a
          Omni.BandedHermitian _ -> a
    widthToQuadratic a@(Array _) =
       case shape a of
          Omni.Full _ ->
-            ($a) $ liftUnpacked1 $ Basic.mapExtent $
+            ($ a) $ liftUnpacked1 $ Basic.mapExtent $
                Extent.square . Extent.width
          Omni.UpperTriangular _ -> a
          Omni.LowerTriangular _ -> a
          Omni.Symmetric _ -> a
          Omni.Hermitian _ -> a
          Omni.Banded _ ->
-            ($a) $ lift1 $ Banded.mapExtentSizes $ Extent.square . Extent.width
+            ($ a) $ lift1 $ Banded.mapExtentSizes $ Extent.square . Extent.width
          Omni.UnitBandedTriangular _ -> a
          Omni.BandedHermitian _ -> a
 
diff --git a/src/Numeric/LAPACK/Matrix/BandedHermitian/Eigen.hs b/src/Numeric/LAPACK/Matrix/BandedHermitian/Eigen.hs
--- a/src/Numeric/LAPACK/Matrix/BandedHermitian/Eigen.hs
+++ b/src/Numeric/LAPACK/Matrix/BandedHermitian/Eigen.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.BandedHermitian.Eigen (
    values,
    decompose,
diff --git a/src/Numeric/LAPACK/Matrix/BandedHermitianPositiveDefinite/Linear.hs b/src/Numeric/LAPACK/Matrix/BandedHermitianPositiveDefinite/Linear.hs
--- a/src/Numeric/LAPACK/Matrix/BandedHermitianPositiveDefinite/Linear.hs
+++ b/src/Numeric/LAPACK/Matrix/BandedHermitianPositiveDefinite/Linear.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite.Linear (
    solve,
    solveDecomposed,
diff --git a/src/Numeric/LAPACK/Matrix/Block/Private.hs b/src/Numeric/LAPACK/Matrix/Block/Private.hs
--- a/src/Numeric/LAPACK/Matrix/Block/Private.hs
+++ b/src/Numeric/LAPACK/Matrix/Block/Private.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/src/Numeric/LAPACK/Matrix/Class.hs b/src/Numeric/LAPACK/Matrix/Class.hs
--- a/src/Numeric/LAPACK/Matrix/Class.hs
+++ b/src/Numeric/LAPACK/Matrix/Class.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Matrix.Class (
diff --git a/src/Numeric/LAPACK/Matrix/Divide.hs b/src/Numeric/LAPACK/Matrix/Divide.hs
--- a/src/Numeric/LAPACK/Matrix/Divide.hs
+++ b/src/Numeric/LAPACK/Matrix/Divide.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE FlexibleContexts #-}
diff --git a/src/Numeric/LAPACK/Matrix/Extent/Private.hs b/src/Numeric/LAPACK/Matrix/Extent/Private.hs
--- a/src/Numeric/LAPACK/Matrix/Extent/Private.hs
+++ b/src/Numeric/LAPACK/Matrix/Extent/Private.hs
@@ -601,7 +601,7 @@
 
 multiplyTagLaw :: TagFact a -> TagFact b -> TagFact (Multiply a b)
 multiplyTagLaw a@TagFact =
-   ($a) $ getMultiplyTagLaw $
+   ($ a) $ getMultiplyTagLaw $
    switchTag
       (MultiplyTagLaw $ flip const)
       (MultiplyTagLaw const)
@@ -624,7 +624,7 @@
 multiplyMeasureLaw ::
    MeasureFact a -> MeasureFact b -> MeasureFact (MultiplyMeasure a b)
 multiplyMeasureLaw a@MeasureFact =
-   ($a) $ getMultiplyMeasureLaw $
+   ($ a) $ getMultiplyMeasureLaw $
    switchMeasure
       (MultiplyMeasureLaw $ flip const)
       (MultiplyMeasureLaw const)
diff --git a/src/Numeric/LAPACK/Matrix/Extent/Strict.hs b/src/Numeric/LAPACK/Matrix/Extent/Strict.hs
--- a/src/Numeric/LAPACK/Matrix/Extent/Strict.hs
+++ b/src/Numeric/LAPACK/Matrix/Extent/Strict.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE Rank2Types #-}
diff --git a/src/Numeric/LAPACK/Matrix/Function.hs b/src/Numeric/LAPACK/Matrix/Function.hs
--- a/src/Numeric/LAPACK/Matrix/Function.hs
+++ b/src/Numeric/LAPACK/Matrix/Function.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Matrix.Function (
    SqRt, sqrt, sqrtSchur, sqrtDenmanBeavers,
diff --git a/src/Numeric/LAPACK/Matrix/Hermitian/Eigen.hs b/src/Numeric/LAPACK/Matrix/Hermitian/Eigen.hs
--- a/src/Numeric/LAPACK/Matrix/Hermitian/Eigen.hs
+++ b/src/Numeric/LAPACK/Matrix/Hermitian/Eigen.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Matrix.Hermitian.Eigen (
    values,
diff --git a/src/Numeric/LAPACK/Matrix/Hermitian/Linear.hs b/src/Numeric/LAPACK/Matrix/Hermitian/Linear.hs
--- a/src/Numeric/LAPACK/Matrix/Hermitian/Linear.hs
+++ b/src/Numeric/LAPACK/Matrix/Hermitian/Linear.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.Hermitian.Linear (
    determinant,
    ) where
diff --git a/src/Numeric/LAPACK/Matrix/HermitianPositiveDefinite/Linear.hs b/src/Numeric/LAPACK/Matrix/HermitianPositiveDefinite/Linear.hs
--- a/src/Numeric/LAPACK/Matrix/HermitianPositiveDefinite/Linear.hs
+++ b/src/Numeric/LAPACK/Matrix/HermitianPositiveDefinite/Linear.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Matrix.HermitianPositiveDefinite.Linear (
    solve,
diff --git a/src/Numeric/LAPACK/Matrix/Mosaic/Private.hs b/src/Numeric/LAPACK/Matrix/Mosaic/Private.hs
--- a/src/Numeric/LAPACK/Matrix/Mosaic/Private.hs
+++ b/src/Numeric/LAPACK/Matrix/Mosaic/Private.hs
@@ -387,13 +387,13 @@
 infixl 9 $*, $**
 
 ($*) :: Labelled2 r label (a -> f) (a -> g) -> a -> Labelled2 r label f g
-Labelled2 f g $* a = Labelled2 (fmap ($a) f) (fmap ($a) g)
+Labelled2 f g $* a = Labelled2 (fmap ($ a) f) (fmap ($ a) g)
 
 ($**) ::
    Labelled2 r label (a -> f) (a -> Ptr CInt -> g) ->
    (a,Int) -> Labelled2 r label f g
 Labelled2 f (Labelled lab g) $** (a,n) =
-   Labelled2 (fmap ($a) f) (Labelled lab $ fmap ($a) g <*> Call.leadingDim n)
+   Labelled2 (fmap ($ a) f) (Labelled lab $ fmap ($ a) g <*> Call.leadingDim n)
 
 
 runPacking ::
diff --git a/src/Numeric/LAPACK/Matrix/Multiply.hs b/src/Numeric/LAPACK/Matrix/Multiply.hs
--- a/src/Numeric/LAPACK/Matrix/Multiply.hs
+++ b/src/Numeric/LAPACK/Matrix/Multiply.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE FlexibleInstances #-}
diff --git a/src/Numeric/LAPACK/Matrix/Plain/Class.hs b/src/Numeric/LAPACK/Matrix/Plain/Class.hs
--- a/src/Numeric/LAPACK/Matrix/Plain/Class.hs
+++ b/src/Numeric/LAPACK/Matrix/Plain/Class.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GADTs #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.Plain.Class (
    check,
    -- for testing
diff --git a/src/Numeric/LAPACK/Matrix/RowMajor.hs b/src/Numeric/LAPACK/Matrix/RowMajor.hs
--- a/src/Numeric/LAPACK/Matrix/RowMajor.hs
+++ b/src/Numeric/LAPACK/Matrix/RowMajor.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.RowMajor where
 
 import qualified Numeric.LAPACK.Matrix.Layout.Private as Layout
diff --git a/src/Numeric/LAPACK/Matrix/Square/Eigen.hs b/src/Numeric/LAPACK/Matrix/Square/Eigen.hs
--- a/src/Numeric/LAPACK/Matrix/Square/Eigen.hs
+++ b/src/Numeric/LAPACK/Matrix/Square/Eigen.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Matrix.Square.Eigen (
    values,
    schur,
diff --git a/src/Numeric/LAPACK/Matrix/Superscript.hs b/src/Numeric/LAPACK/Matrix/Superscript.hs
--- a/src/Numeric/LAPACK/Matrix/Superscript.hs
+++ b/src/Numeric/LAPACK/Matrix/Superscript.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE EmptyDataDecls #-}
diff --git a/src/Numeric/LAPACK/Matrix/Triangular.hs b/src/Numeric/LAPACK/Matrix/Triangular.hs
--- a/src/Numeric/LAPACK/Matrix/Triangular.hs
+++ b/src/Numeric/LAPACK/Matrix/Triangular.hs
@@ -315,7 +315,7 @@
 stackLower a0 =
    case packTag a0 of
       Layout.Packed -> ArrMatrix.lift3 Packed.stackLower a0
-      Layout.Unpacked -> ($a0) $
+      Layout.Unpacked -> ($ a0) $
          ArrMatrix.liftUnpacked3 $ \a b c ->
             FullBasic.stackMosaic
                a (Vector.zero $ Layout.inverse $ Array.shape b)
@@ -339,7 +339,7 @@
 stackUpper a0 =
    case packTag a0 of
       Layout.Packed -> ArrMatrix.lift3 Packed.stackUpper a0
-      Layout.Unpacked -> ($a0) $
+      Layout.Unpacked -> ($ a0) $
          ArrMatrix.liftUnpacked3 $ \a b c ->
             FullBasic.stackMosaic a b
                (Vector.zero $ Layout.inverse $ Array.shape b) c
diff --git a/src/Numeric/LAPACK/Matrix/Type/Private.hs b/src/Numeric/LAPACK/Matrix/Type/Private.hs
--- a/src/Numeric/LAPACK/Matrix/Type/Private.hs
+++ b/src/Numeric/LAPACK/Matrix/Type/Private.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE FlexibleInstances #-}
diff --git a/src/Numeric/LAPACK/Matrix/Wrapper.hs b/src/Numeric/LAPACK/Matrix/Wrapper.hs
--- a/src/Numeric/LAPACK/Matrix/Wrapper.hs
+++ b/src/Numeric/LAPACK/Matrix/Wrapper.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE FlexibleContexts #-}
diff --git a/src/Numeric/LAPACK/Orthogonal/Plain.hs b/src/Numeric/LAPACK/Orthogonal/Plain.hs
--- a/src/Numeric/LAPACK/Orthogonal/Plain.hs
+++ b/src/Numeric/LAPACK/Orthogonal/Plain.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/src/Numeric/LAPACK/Permutation/Private.hs b/src/Numeric/LAPACK/Permutation/Private.hs
--- a/src/Numeric/LAPACK/Permutation/Private.hs
+++ b/src/Numeric/LAPACK/Permutation/Private.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Permutation.Private where
 
 import qualified Numeric.LAPACK.Matrix.Layout.Private as Layout
diff --git a/src/Numeric/LAPACK/Scalar.hs b/src/Numeric/LAPACK/Scalar.hs
--- a/src/Numeric/LAPACK/Scalar.hs
+++ b/src/Numeric/LAPACK/Scalar.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 module Numeric.LAPACK.Scalar (
    RealOf,
diff --git a/src/Numeric/LAPACK/Singular/Plain.hs b/src/Numeric/LAPACK/Singular/Plain.hs
--- a/src/Numeric/LAPACK/Singular/Plain.hs
+++ b/src/Numeric/LAPACK/Singular/Plain.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Numeric.LAPACK.Singular.Plain (
    values,
    valuesTall,
diff --git a/test/DocTest/Numeric/LAPACK/Permutation/Private.hs b/test/DocTest/Numeric/LAPACK/Permutation/Private.hs
--- a/test/DocTest/Numeric/LAPACK/Permutation/Private.hs
+++ b/test/DocTest/Numeric/LAPACK/Permutation/Private.hs
@@ -1,11 +1,11 @@
 -- Do not edit! Automatically created with doctest-extract from src/Numeric/LAPACK/Permutation/Private.hs
-{-# LINE 47 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+{-# LINE 48 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
 
 module DocTest.Numeric.LAPACK.Permutation.Private where
 
 import qualified Test.DocTest.Driver as DocTest
 
-{-# LINE 48 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+{-# LINE 49 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
 import     qualified Test.QuickCheck as QC
 import     Test.Permutation (genPerm, genPivots)
 
@@ -25,18 +25,18 @@
 
 test :: DocTest.T ()
 test = do
- DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:109: "
-{-# LINE 109 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+ DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:110: "
+{-# LINE 110 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
  DocTest.property
-{-# LINE 109 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+{-# LINE 110 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
      (QC.forAll QC.arbitraryBoundedEnum $ \inv -> QC.forAll (QC.arbitrary >>= genPivots) $ \xs -> xs == Perm.toPivots inv (Perm.fromPivots inv xs))
- DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:192: "
-{-# LINE 192 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+ DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:193: "
+{-# LINE 193 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
  DocTest.property
-{-# LINE 192 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+{-# LINE 193 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
      (QC.forAll genPerm2 $ \(p0,p1) -> determinant (multiply p0 p1) == determinant p0 <> determinant p1)
- DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:221: "
-{-# LINE 221 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+ DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:222: "
+{-# LINE 222 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
  DocTest.property
-{-# LINE 221 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
+{-# LINE 222 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
      (QC.forAll genPerm2 $ \(p0,p1) -> transpose (multiply p0 p1) == multiply (transpose p1) (transpose p0))
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Main where
 
 import qualified Test.Vector as Vector
diff --git a/test/Test/Divide.hs b/test/Test/Divide.hs
--- a/test/Test/Divide.hs
+++ b/test/Test/Divide.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE ExistentialQuantification #-}
diff --git a/test/Test/Function.hs b/test/Test/Function.hs
--- a/test/Test/Function.hs
+++ b/test/Test/Function.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE ConstraintKinds  #-}
 {-# LANGUAGE GADTs #-}
 module Test.Function (testsVar, testsReal) where
diff --git a/test/Test/Generic.hs b/test/Test/Generic.hs
--- a/test/Test/Generic.hs
+++ b/test/Test/Generic.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE ConstraintKinds #-}
 module Test.Generic where
 
diff --git a/test/Test/LowerUpper.hs b/test/Test/LowerUpper.hs
--- a/test/Test/LowerUpper.hs
+++ b/test/Test/LowerUpper.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Test.LowerUpper (testsVar) where
 
 import qualified Test.Divide as Divide
diff --git a/test/Test/Multiply.hs b/test/Test/Multiply.hs
--- a/test/Test/Multiply.hs
+++ b/test/Test/Multiply.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE ConstraintKinds #-}
 module Test.Multiply (
    multiplySquare,
diff --git a/test/Test/Singular.hs b/test/Test/Singular.hs
--- a/test/Test/Singular.hs
+++ b/test/Test/Singular.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Test.Singular (testsVar) where
 
 import qualified Test.Generator as Gen
diff --git a/test/Test/Square.hs b/test/Test/Square.hs
--- a/test/Test/Square.hs
+++ b/test/Test/Square.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Test.Square (testsVar) where
 
 import qualified Test.Divide as Divide
diff --git a/test/Test/Utility.hs b/test/Test/Utility.hs
--- a/test/Test/Utility.hs
+++ b/test/Test/Utility.hs
@@ -372,12 +372,12 @@
    deriving (Eq, Show)
 
 instance Semigroup Match where
-   (<>) = mappend
+   Match <> Match = Match
+   _ <> _ = Mismatch
 
 instance Monoid Match where
    mempty = Match
-   mappend Match Match = Match
-   mappend _ _ = Mismatch
+   mappend = (<>)
 
 
 
diff --git a/test/Test/Vector.hs b/test/Test/Vector.hs
--- a/test/Test/Vector.hs
+++ b/test/Test/Vector.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 module Test.Vector (testsVar) where
 
 import qualified Test.Generator as Gen
