diff --git a/Opaleye/Classy.hs b/Opaleye/Classy.hs
--- a/Opaleye/Classy.hs
+++ b/Opaleye/Classy.hs
@@ -45,17 +45,21 @@
   deriving Show
 makeClassyPrisms ''OpaleyeError
 
-type CanOpaleye m c e =
+type CanOpaleye c e m =
   ( MonadReader c m
   , MonadError e m
   , MonadIO m
-  , Applicative m
+  -- This applicative constraint doesn't actually need to be here,
+  -- but it makes the constraint easier to deal with in base < 4.8
+  -- I'm personally stuck on GHC 7.8 until we can upgrade to
+  -- Centos 7, so this is very helpful for me. :)
+  , Applicative m    
   , AsOpaleyeError e
   , HasOpaleyeEnv c
   )
 
 liftQueryFirst
-  :: ( CanOpaleye m c e
+  :: ( CanOpaleye c e m
     , Default QueryRunner a b
     , Applicative m
     )
@@ -64,7 +68,7 @@
 liftQueryFirst = fmap (^? _head) . liftQuery
 
 liftQuery
-  :: ( CanOpaleye m c e
+  :: ( CanOpaleye c e m
     , Default QueryRunner a b
     )
   => Query a
@@ -72,14 +76,14 @@
 liftQuery q = withConn (`runQuery` q)
 
 liftInsert
-  :: CanOpaleye m c e
+  :: CanOpaleye c e m
   => Table colW colR
   -> colW
   -> m Int64
 liftInsert t w = withConn $ \conn -> runInsert conn t w
 
 liftInsertReturning
-  :: ( CanOpaleye m c e
+  :: ( CanOpaleye c e m
     , Default QueryRunner ret hask
     , Default Unpackspec ret ret
     )
@@ -90,7 +94,7 @@
 liftInsertReturning t f c = withConn $ \conn -> runInsertReturning conn t c f
 
 liftUpdate
-  :: CanOpaleye m c e
+  :: CanOpaleye c e m
   => Table colW colR
   -> (colR -> colW)
   -> (colR -> Column PGBool)
@@ -98,16 +102,16 @@
 liftUpdate t u p = withConn $ \conn -> runUpdate conn t u p
 
 liftDelete
-  :: CanOpaleye m c e
+  :: CanOpaleye c e m
   => Table colW colR
   -> (colR -> Column PGBool)
   -> m Int64
 liftDelete t p = withConn $ \conn -> runDelete conn t p
 
-withConn :: CanOpaleye m c e => (Connection -> IO a) -> m a
+withConn :: CanOpaleye c e m => (Connection -> IO a) -> m a
 withConn f = view opaleyeEnvConn >>= flip withGivenConn f
 
-withGivenConn :: CanOpaleye m c e => Connection -> (Connection -> IO a) -> m a
+withGivenConn :: CanOpaleye c e m => Connection -> (Connection -> IO a) -> m a
 withGivenConn c f = liftIO $ f c
 
 closeEnv :: OpaleyeEnv -> IO ()
diff --git a/opaleye-classy.cabal b/opaleye-classy.cabal
--- a/opaleye-classy.cabal
+++ b/opaleye-classy.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                opaleye-classy
-version:             0.2.1.0
+version:             0.3.0.0
 synopsis:            Opaleye wrapped up in classy MTL attire.
 description:         
     Classy MTL extension of the lovely Opaleye library, which simply just wraps things up in a MonadReader , MonadError context where the config & error are constrained by Classy Lenses & Prisms rather than by concrete types
