diff --git a/Data/Stream/Branching.hs b/Data/Stream/Branching.hs
--- a/Data/Stream/Branching.hs
+++ b/Data/Stream/Branching.hs
@@ -27,7 +27,6 @@
 
 import Control.Applicative
 import Control.Comonad
-import Control.Comonad.Apply
 import Control.Monad
 import Data.Functor.Apply
 import Data.Stream.NonEmpty hiding (tail, tails, unfold, head, scanr, scanl)
@@ -84,8 +83,6 @@
   (f :< fs) <.> (a :< as) = f a :< ((<.>) <$> fs <.> as)
   (f :< fs) <.  (_ :< as) = f :< ((<. ) <$> fs <.> as)
   (_ :< fs)  .> (a :< as) = a :< (( .>) <$> fs <.> as)
-
-instance Apply f => ComonadApply (Stream f)
 
 instance Applicative f => Applicative (Stream f) where
   pure a = as where as = a :< pure as
diff --git a/Data/Stream/Future.hs b/Data/Stream/Future.hs
--- a/Data/Stream/Future.hs
+++ b/Data/Stream/Future.hs
@@ -24,9 +24,7 @@
 
 import Prelude hiding (head, tail, map, length)
 import Control.Applicative
-import Control.Applicative.Alt
 import Control.Comonad
-import Control.Comonad.Apply
 import Data.Foldable
 import Data.Functor.Alt
 import Data.Traversable
@@ -136,14 +134,10 @@
 instance Semigroup (Future a) where
   (<>) = (<!>)
   
-instance ComonadApply Future
-
 instance Applicative Future where
   pure = Last
   (<*>) = (<.>)
   (<* ) = (<. )
   ( *>) = ( .>)
-
-instance ApplicativeAlt Future
 
 
diff --git a/Data/Stream/Future/Skew.hs b/Data/Stream/Future/Skew.hs
--- a/Data/Stream/Future/Skew.hs
+++ b/Data/Stream/Future/Skew.hs
@@ -48,7 +48,6 @@
 
 import Control.Applicative hiding (empty)
 import Control.Comonad
-import Control.Comonad.Apply
 import Data.Functor.Alt
 import Data.Functor.Apply
 import Data.Foldable hiding (toList)
@@ -145,8 +144,6 @@
   Tip f :< fs          <.> Tip a :< as          = f a <| (fs             <.> as            )
   Tip f :< fs          <.> Bin _ a la ra :< as  = f a <| (fs             <.> la :< ra :< as)
   Tip f :< fs          <.> Last (Bin _ a la ra) = f a <| (fs             <.> la :< Last ra )
-
-instance ComonadApply Future
 
 instance Applicative Future where
   pure = repeat
diff --git a/Data/Stream/Infinite.hs b/Data/Stream/Infinite.hs
--- a/Data/Stream/Infinite.hs
+++ b/Data/Stream/Infinite.hs
@@ -76,7 +76,6 @@
 
 import Control.Applicative
 import Control.Comonad
-import Control.Comonad.Apply
 import Data.Char (isSpace)
 import Data.Data
 import Data.Functor.Apply
@@ -135,8 +134,6 @@
   (f :> fs) <.> (a :> as) = f a :> (fs <.> as)
   as        <.  _         = as
   _          .> bs        = bs
-
-instance ComonadApply Stream 
 
 -- | 'repeat' @x@ returns a constant stream, where all elements are
 -- equal to @x@.
diff --git a/Data/Stream/Infinite/Functional/Zipper.hs b/Data/Stream/Infinite/Functional/Zipper.hs
--- a/Data/Stream/Infinite/Functional/Zipper.hs
+++ b/Data/Stream/Infinite/Functional/Zipper.hs
@@ -51,7 +51,6 @@
 
 import Control.Applicative
 import Control.Comonad
-import Control.Comonad.Apply
 -- import Data.Char (isSpace)
 import Data.Data
 import Data.Functor.Apply
@@ -110,8 +109,6 @@
     = nf :~ \n -> f n (a (n + dn))
   as        <.  _         = as
   _          .> bs        = bs
-
-instance ComonadApply Zipper 
 
 instance Applicative Zipper where
   pure = repeat
diff --git a/Data/Stream/Infinite/Skew.hs b/Data/Stream/Infinite/Skew.hs
--- a/Data/Stream/Infinite/Skew.hs
+++ b/Data/Stream/Infinite/Skew.hs
@@ -44,7 +44,6 @@
 import Control.Arrow (first)
 import Control.Applicative hiding (empty)
 import Control.Comonad
-import Control.Comonad.Apply
 import Data.Distributive
 import Data.Functor.Alt
 import Data.Functor.Apply
@@ -129,8 +128,6 @@
   fs <.> as = mapWithIndex (\n f -> f (as !! n)) fs
   as <.  _  = as
   _   .> bs = bs
-
-instance ComonadApply Stream
 
 instance Applicative Stream where
   pure = repeat
diff --git a/Data/Stream/NonEmpty.hs b/Data/Stream/NonEmpty.hs
--- a/Data/Stream/NonEmpty.hs
+++ b/Data/Stream/NonEmpty.hs
@@ -88,9 +88,7 @@
   )
 
 import Control.Applicative
-import Control.Applicative.Alt
 import Control.Comonad
-import Control.Comonad.Apply
 import Control.Monad
 import Data.Functor.Alt
 import Data.Foldable hiding (toList)
@@ -147,13 +145,9 @@
 instance Alt NonEmpty where
   (a :| as) <!> ~(b :| bs) = a :| (as ++ b : bs)
 
-instance ComonadApply NonEmpty
-
 instance Applicative NonEmpty where
   pure a = a :| []
   (<*>) = ap
-
-instance ApplicativeAlt NonEmpty
 
 instance Monad NonEmpty where
   return a = a :| []
diff --git a/streams.cabal b/streams.cabal
--- a/streams.cabal
+++ b/streams.cabal
@@ -1,6 +1,6 @@
 name:          streams
 category:      Control, Comonads
-version:       0.4
+version:       0.5.0
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -75,7 +75,7 @@
   build-depends:
     base >= 4 && < 4.4,
     comonad >= 0.9 && < 0.10,
-    functor-apply >= 0.9 && < 0.10,
+    functor-apply >= 0.10 && < 0.11,
     distributive >= 0.1 && < 0.2,
     semigroups >= 0.3.4 && < 0.4
 
