diff --git a/eternal.cabal b/eternal.cabal
--- a/eternal.cabal
+++ b/eternal.cabal
@@ -1,6 +1,6 @@
 name:       eternal
 category:   Control
-version:    0.0.5
+version:    0.0.6
 author:        Heather Cynede
 maintainer:    Heather Cynede <Cynede@Gentoo.org>
 license: BSD3
@@ -24,6 +24,7 @@
     Control.Eternal.Algorithms
     
     Control.Eternal.Syntax.Operators
+    Control.Eternal.Syntax.Lift
     Control.Eternal.Syntax.Logic
     
     Control.Eternal.System.FileSystem
diff --git a/src/Control/Eternal/Syntax.hs b/src/Control/Eternal/Syntax.hs
--- a/src/Control/Eternal/Syntax.hs
+++ b/src/Control/Eternal/Syntax.hs
@@ -1,7 +1,9 @@
 module Control.Eternal.Syntax
   ( module Control.Eternal.Syntax.Operators
+  , module Control.Eternal.Syntax.Lift
   , module Control.Eternal.Syntax.Logic
   ) where
 
 import Control.Eternal.Syntax.Operators
+import Control.Eternal.Syntax.Lift
 import Control.Eternal.Syntax.Logic
diff --git a/src/Control/Eternal/Syntax/Lift.hs b/src/Control/Eternal/Syntax/Lift.hs
new file mode 100644
--- /dev/null
+++ b/src/Control/Eternal/Syntax/Lift.hs
@@ -0,0 +1,17 @@
+module Control.Eternal.Syntax.Lift
+  ( liftM2_
+  ) where
+
+import Control.Monad
+
+liftM_ :: Monad m => (a1 -> m a) -> m a1 -> m a
+liftM_ a1 r = join ( liftM a1 r )
+
+liftM2_ :: Monad m => (a1 -> a2 -> m a) -> m a1 -> m a2 -> m a
+liftM2_ a1 a2 r = join ( liftM2 a1 a2 r )
+
+liftM3_ :: Monad m => (a1 -> a2 -> a3 -> m a) -> m a1 -> m a2 -> m a3 -> m a
+liftM3_ a1 a2 a3 r = join ( liftM3 a1 a2 a3 r )
+
+liftM4_ :: Monad m => (a1 -> a2 -> a3 -> a4 -> m a) -> m a1 -> m a2 -> m a3 -> m a4 -> m a
+liftM4_ a1 a2 a3 a4 r = join ( liftM4 a1 a2 a3 a4 r )
