diff --git a/Control/Alternative/Operational.hs b/Control/Alternative/Operational.hs
--- a/Control/Alternative/Operational.hs
+++ b/Control/Alternative/Operational.hs
@@ -167,7 +167,7 @@
 import Control.Alternative.Free hiding (Pure)
 import Control.Operational.Class
 import Control.Operational.Instruction
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 newtype ProgramAlt instr a =
     ProgramAlt { -- | Interpret the program as a free 'Alternative' ('Alt').
diff --git a/Control/Applicative/Operational.hs b/Control/Applicative/Operational.hs
--- a/Control/Applicative/Operational.hs
+++ b/Control/Applicative/Operational.hs
@@ -24,7 +24,7 @@
 import qualified Control.Applicative.Free as Free
 import Control.Operational.Class
 import Control.Operational.Instruction
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 
 -- | An 'Applicative' program over instruction set @instr@.  This is
diff --git a/Control/Monad/Operational.hs b/Control/Monad/Operational.hs
--- a/Control/Monad/Operational.hs
+++ b/Control/Monad/Operational.hs
@@ -42,7 +42,7 @@
 import Control.Monad.Trans.Operational
 import Control.Operational.Class
 import Control.Operational.Instruction
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 
 -- | Drop-in replacement for @operational@'s type synonym.
diff --git a/Control/Monad/Operational/Simple.hs b/Control/Monad/Operational/Simple.hs
--- a/Control/Monad/Operational/Simple.hs
+++ b/Control/Monad/Operational/Simple.hs
@@ -18,7 +18,7 @@
 import Control.Monad.Free
 import Control.Operational.Class
 import Control.Operational.Instruction
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 
 newtype Program instr a = 
diff --git a/Control/Monad/Trans/Operational.hs b/Control/Monad/Trans/Operational.hs
--- a/Control/Monad/Trans/Operational.hs
+++ b/Control/Monad/Trans/Operational.hs
@@ -17,7 +17,7 @@
 import Control.Monad.Trans.Free
 import Control.Operational.Class
 import Control.Operational.Instruction
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 
 newtype ProgramT instr m a = 
diff --git a/Control/MonadPlus/Operational.hs b/Control/MonadPlus/Operational.hs
--- a/Control/MonadPlus/Operational.hs
+++ b/Control/MonadPlus/Operational.hs
@@ -19,7 +19,7 @@
 import Control.Monad
 import Control.MonadPlus.Free
 import Control.Operational.Class
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 newtype ProgramP instr a = 
     ProgramP { -- | Interpret the program as a free 'MonadPlus'.
diff --git a/Control/Operational/Instruction.hs b/Control/Operational/Instruction.hs
--- a/Control/Operational/Instruction.hs
+++ b/Control/Operational/Instruction.hs
@@ -22,7 +22,7 @@
     ) where
 
 import Data.Functor.Coproduct
-import Data.Functor.Yoneda.Contravariant
+import Data.Functor.Yoneda.Reduction
 
 -- | Lift an operational instruction evaluator into a free 'Functor'
 -- evaluator.
diff --git a/free-operational.cabal b/free-operational.cabal
--- a/free-operational.cabal
+++ b/free-operational.cabal
@@ -1,9 +1,9 @@
 name:                free-operational
 category:            Control
-version:             0.3.0.0
+version:             0.4.0.0
 build-type:          Simple
 cabal-version:       >=1.8
-synopsis:            Operational Applicative, Alternative, Monad and MonadPlus, built with free types.
+synopsis:            Operational Applicative, Alternative, Monad and MonadPlus from free types.
 
 description:         
     A reimplementation of the @operational@ package
@@ -53,8 +53,8 @@
                    free-operational >=0.2,
                    test-framework >=0.8,
                    test-framework-quickcheck2 >=0.3,  
-                   QuickCheck >=2.4,
-                   checkers >=0.3
+                   QuickCheck >=2.5,
+                   checkers ==0.3.1
 
 library
   exposed-modules:  Control.Operational.Class,
@@ -68,8 +68,8 @@
   
   build-depends:       base == 4.*,
                        transformers >=0.3,
-                       mtl >=2.1,
+                       mtl >=2,
                        free >=3.3,
                        comonad-transformers >=3.0,
-                       kan-extensions >=3.1
+                       kan-extensions >=3.5
   
