diff --git a/src/UniqueLogic/ST/Example/Verify.hs b/src/UniqueLogic/ST/Example/Verify.hs
--- a/src/UniqueLogic/ST/Example/Verify.hs
+++ b/src/UniqueLogic/ST/Example/Verify.hs
@@ -58,11 +58,11 @@
    fmap = liftM
 
 instance (Monad m) => Applicative (Track m) where
-   pure = return
+   pure = Track . UMT.point
    (<*>) = ap
 
 instance (Monad m) => Monad (Track m) where
-   return = Track . UMT.point
+   return = pure
    x >>= k  =  Track $ UMT.bind (runTrack x) (runTrack . k)
 
 
diff --git a/src/UniqueLogic/ST/MonadTrans.hs b/src/UniqueLogic/ST/MonadTrans.hs
--- a/src/UniqueLogic/ST/MonadTrans.hs
+++ b/src/UniqueLogic/ST/MonadTrans.hs
@@ -60,9 +60,9 @@
    fmap = liftM
 
 instance (C t, Monad m) => Applicative (Wrap t m) where
-   pure = return
+   pure = wrap . point
    (<*>) = ap
 
 instance (C t, Monad m) => Monad (Wrap t m) where
-   return = wrap . point
+   return = pure
    x >>= k  =  wrap $ bind (unwrap x) (unwrap . k)
diff --git a/src/UniqueLogic/ST/System.hs b/src/UniqueLogic/ST/System.hs
--- a/src/UniqueLogic/ST/System.hs
+++ b/src/UniqueLogic/ST/System.hs
@@ -73,7 +73,7 @@
    (<*>) = ap
 
 instance Monad (T w s) where
-   return = Cons . return
+   return = pure
    Cons x >>= k  = Cons $ run . k =<< x
 
 
diff --git a/unique-logic.cabal b/unique-logic.cabal
--- a/unique-logic.cabal
+++ b/unique-logic.cabal
@@ -1,10 +1,11 @@
+Cabal-Version:    2.2
 Name:             unique-logic
-Version:          0.4
-License:          BSD3
+Version:          0.4.0.1
+License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann
 Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
-Homepage:         http://hub.darcs.net/thielema/unique-logic/
+Homepage:         https://hub.darcs.net/thielema/unique-logic/
 Category:         Logic programming
 Synopsis:         Solve simple simultaneous equations
 Description:
@@ -60,25 +61,25 @@
   .
   The package is purely Haskell 98.
 Tested-With:       GHC==7.4.2
-Cabal-Version:     >=1.8
 Build-Type:        Simple
 
 Source-Repository this
-  Tag:         0.4
+  Tag:         0.4.0.1
   Type:        darcs
-  Location:    http://hub.darcs.net/thielema/unique-logic/
+  Location:    https://hub.darcs.net/thielema/unique-logic/
 
 Source-Repository head
   Type:        darcs
-  Location:    http://hub.darcs.net/thielema/unique-logic/
+  Location:    https://hub.darcs.net/thielema/unique-logic/
 
 Library
   Build-Depends:
-    explicit-exception >=0.1.7 && <0.2,
-    transformers >=0.2 && <0.6,
+    explicit-exception >=0.1.7 && <0.3,
+    transformers >=0.2 && <0.7,
     utility-ht >=0.0.9 && <0.1,
     base >= 4 && <5
   GHC-Options:      -Wall
+  Default-Language: Haskell98
   Hs-Source-Dirs:   src
 
   Exposed-Modules:
@@ -100,6 +101,7 @@
   Type:    exitcode-stdio-1.0
   Main-Is: src/UniqueLogic/ST/Test.hs
   GHC-Options: -Wall
+  Default-Language: Haskell98
   Build-Depends:
     QuickCheck >=2.4 && <3,
     unique-logic,
