diff --git a/Bindings/LevMar/CurryFriendly.hs b/Bindings/LevMar/CurryFriendly.hs
--- a/Bindings/LevMar/CurryFriendly.hs
+++ b/Bindings/LevMar/CurryFriendly.hs
@@ -146,6 +146,3 @@
 
 dlevmar_blec_der ∷ LevMarBLecDer Double
 dlevmar_blec_der = mk_levmar_blec_der BLM.c'dlevmar_blec_der
-
-
--- The End ---------------------------------------------------------------------
diff --git a/Numeric/LevMar.hs b/Numeric/LevMar.hs
--- a/Numeric/LevMar.hs
+++ b/Numeric/LevMar.hs
@@ -62,7 +62,7 @@
 import Data.Int              ( Int )
 import Data.List             ( lookup, (++) )
 import Data.Maybe            ( Maybe(Nothing, Just), isJust, fromJust, fromMaybe )
-import Data.Monoid           ( Monoid(mempty, mappend) )
+import Data.Monoid           ( Monoid, mempty, mappend )
 import Data.Ord              ( Ord, (<) )
 import Foreign.Marshal.Array ( allocaArray, withArray, peekArray, copyArray )
 import Foreign.Ptr           ( Ptr, nullPtr )
@@ -85,7 +85,7 @@
 #endif
 
 #if __GLASGOW_HASKELL__ < 700
-import Prelude               ( fromInteger )
+import Prelude               ( fromInteger, (>>=), (>>), fail )
 #endif
 
 -- from base-unicode-symbols:
@@ -128,14 +128,11 @@
 import qualified Bindings.LevMar ( Model, Jacobian )
 
 -- from levmar (this package):
-import Bindings.LevMar.CurryFriendly ( LevMarDer
-                                     , LevMarDif
-                                     , LevMarBCDer
-                                     , LevMarBCDif
-                                     , LevMarLecDer
-                                     , LevMarLecDif
-                                     , LevMarBLecDer
-                                     , LevMarBLecDif
+import Bindings.LevMar.CurryFriendly ( LevMarDer,     LevMarDif
+                                     , LevMarBCDer,   LevMarBCDif
+                                     , LevMarLecDer,  LevMarLecDif
+                                     , LevMarBLecDer, LevMarBLecDif
+
                                      , dlevmar_der,      slevmar_der
                                      , dlevmar_dif,      slevmar_dif
                                      , dlevmar_bc_der,   slevmar_bc_der
@@ -460,7 +457,7 @@
     , linearConstraints ∷ !(Maybe (LinearConstraints r)) -- ^ Optional linear constraints
     } deriving (Read, Show, Typeable)
 
-deriving instance Container Vector r ⇒ Eq (Constraints r)
+deriving instance (Eq r, Container Vector r) ⇒ Eq (Constraints r)
 
 -- | Linear constraints consisting of a constraints matrix, @k><m@ and
 --   a right hand constraints vector, of length @k@ where @m@ is the number of
diff --git a/levmar.cabal b/levmar.cabal
--- a/levmar.cabal
+++ b/levmar.cabal
@@ -1,5 +1,5 @@
 name:          levmar
-version:       1.2
+version:       1.2.0.1
 cabal-version: >= 1.6
 build-type:    Simple
 stability:     experimental
@@ -10,7 +10,7 @@
 copyright:     (c) 2009 - 2011 Roel van Dijk & Bas van Dijk
 license:       BSD3
 license-file:  LICENSE
-homepage:      https://github.com/basvandijk/levmar/
+homepage:      https://github.com/basvandijk/levmar
 bug-reports:   https://github.com/basvandijk/levmar/issues
 category:      Numerical, Math
 synopsis:      An implementation of the Levenberg-Marquardt algorithm
@@ -46,10 +46,10 @@
   Location: git://github.com/basvandijk/levmar.git
 
 library
-  build-depends: base                 >= 3     && < 4.5
+  build-depends: base                 >= 3     && < 4.6
                , base-unicode-symbols >= 0.1.1 && < 0.3
                , bindings-levmar      >= 1.0   && < 1.1
-               , hmatrix              >= 0.12  && < 0.13
+               , hmatrix              >= 0.12  && < 0.14
                , vector               >= 0.8   && < 0.10
   exposed-modules: Numeric.LevMar
   other-modules: Bindings.LevMar.CurryFriendly
