diff --git a/effin.cabal b/effin.cabal
--- a/effin.cabal
+++ b/effin.cabal
@@ -1,5 +1,5 @@
 name:                effin
-version:             0.2.1.0
+version:             0.2.1.1
 synopsis:            A Typeable-free implementation of extensible effects
 homepage:            https://github.com/YellPika/effin
 license:             BSD3
diff --git a/src/Control/Effect/Coroutine.hs b/src/Control/Effect/Coroutine.hs
--- a/src/Control/Effect/Coroutine.hs
+++ b/src/Control/Effect/Coroutine.hs
@@ -24,27 +24,27 @@
     IsCoroutine (Coroutine i o) = True
     IsCoroutine f = False
 
-class MemberEffect Coroutine (Coroutine i o) es => EffectCoroutine i o es
-instance MemberEffect Coroutine (Coroutine i o) es => EffectCoroutine i o es
+class MemberEffect Coroutine (Coroutine i o) l => EffectCoroutine i o l
+instance MemberEffect Coroutine (Coroutine i o) l => EffectCoroutine i o l
 
 -- | Suspends the current computation by providing a value
 -- of type `i` and then waiting for a value of type `o`.
-suspend :: EffectCoroutine i o es => i -> Effect es o
+suspend :: EffectCoroutine i o l => i -> Effect l o
 suspend = send . Coroutine id
 
 -- | Converts a `Coroutine` effect into an `Iterator`.
-runCoroutine :: Effect (Coroutine i o :+ es) a -> Effect es (Iterator i o es a)
+runCoroutine :: Effect (Coroutine i o :+ l) a -> Effect l (Iterator i o l a)
 runCoroutine = eliminate (return . Done) (\(Coroutine f k) -> return (Next f k))
 
 -- | A suspended computation.
-data Iterator i o es a
+data Iterator i o l a
     = Done a -- ^ Describes a finished computation.
-    | Next (o -> Effect es (Iterator i o es a)) i
+    | Next (o -> Effect l (Iterator i o l a)) i
     -- ^ Describes a computation that provided a value
     -- of type `i` and awaits a value of type `o`.
 
 -- | Evaluates an iterator by providing it with an input stream.
-evalIterator :: Iterator i o es a -> [o] -> Effect es (Iterator i o es a, [i])
+evalIterator :: Iterator i o l a -> [o] -> Effect l (Iterator i o l a, [i])
 evalIterator (Next f v) (x:xs) = do
     i <- f x
     (r, vs) <- evalIterator i xs
