diff --git a/Math/MFSolve.hs b/Math/MFSolve.hs
--- a/Math/MFSolve.hs
+++ b/Math/MFSolve.hs
@@ -102,6 +102,7 @@
 import qualified Data.HashMap.Strict as M
 import qualified Data.HashSet as H
 import GHC.Generics
+import Control.Monad
 import Control.Monad.Except
 import Control.Monad.State
 import Control.Monad.Reader
@@ -110,7 +111,6 @@
 import Control.Monad.Cont
 import Control.Exception
 import Data.Typeable
-import Control.Applicative hiding (Const)
 import Data.Hashable
 import Data.Maybe
 import Data.List
@@ -207,8 +207,13 @@
 type TrigEq2 v n = M.HashMap (Period v n)
                    (M.HashMap v (Expr v n))
 
+pattern LinearE :: LinExpr v n -> Expr v n
 pattern LinearE l = Expr l [] []
+
+pattern ConstE :: n -> Expr v n
 pattern ConstE c = Expr (LinExpr c []) [] []
+
+pattern LConst :: n -> LinExpr v n
 pattern LConst c = LinExpr c []
 
 instance (Hashable v, Hashable n) => Hashable (LinExpr v n)
diff --git a/mfsolve.cabal b/mfsolve.cabal
--- a/mfsolve.cabal
+++ b/mfsolve.cabal
@@ -1,5 +1,5 @@
 Name:		mfsolve
-Version: 	0.3.2.1
+Version: 	0.3.2.2
 Synopsis:	Equation solver and calculator à la metafont
 Category: 	Math
 Copyright: 	Kristof Bastiaensen (2015)
@@ -21,7 +21,7 @@
 
 Library
   Ghc-options: -Wall
-  Build-depends: base >= 3 && < 5, unordered-containers > 0.2, hashable >= 0.1.2, mtl >= 2.1.3, mtl-compat >= 0.2.1
+  Build-depends: base >= 3 && < 5, unordered-containers > 0.2, hashable >= 0.1.2, mtl >= 2.1.3 && < 2.4, mtl-compat >= 0.2.1
   Exposed-Modules:
     Math.MFSolve
   default-extensions: DeriveGeneric, PatternGuards, PatternSynonyms
diff --git a/tests/test.hs b/tests/test.hs
--- a/tests/test.hs
+++ b/tests/test.hs
@@ -49,9 +49,6 @@
 zero (toSimple -> Const 0) = True
 zero _ = False
 
-instance (Floating n, Eq n, Ord n, Ord v) => Eq (Expr v n) where
-  a == b = zero $ a-b
-
 TestExpr a b ?= TestExpr c d =
   (\s -> testEq (a s) (c s) (show b) (show d),
    (b,d))
