diff --git a/Control/Comonad/Store/Pointer.hs b/Control/Comonad/Store/Pointer.hs
--- a/Control/Comonad/Store/Pointer.hs
+++ b/Control/Comonad/Store/Pointer.hs
@@ -101,10 +101,11 @@
 
 instance (Comonad w, Ix i) => ComonadStore i (PointerT i w) where
   pos (PointerT _ i) = i
-  seek i ~(PointerT g _) = PointerT g i
-  seeks f ~(PointerT g i) = PointerT g (f i)
+  seek i (PointerT g _) = PointerT g i
+  seeks f (PointerT g i) = PointerT g (f i)
   peek i (PointerT g _) = extract g ! i
-  peeks f ~(PointerT g i) = extract g ! f i
+  peeks f (PointerT g i) = extract g ! f i
+  experiment f (PointerT g i) = fmap (extract g !) (f i)
 
 -- | Extract the bounds of the currently focused array
 pointerBounds :: (Comonad w, Ix i) => PointerT i w a -> (i,i)
diff --git a/Control/Comonad/Store/Zipper.hs b/Control/Comonad/Store/Zipper.hs
--- a/Control/Comonad/Store/Zipper.hs
+++ b/Control/Comonad/Store/Zipper.hs
@@ -36,6 +36,7 @@
 instance ComonadStore Int (Zipper t) where
   pos (Zipper _ i _) = i
   peek j (Zipper _ _ s) = Seq.index s j
+  experiment f (Zipper _ i s) = Seq.index s <$> f i
 
 instance Functor (Zipper t) where
   fmap f (Zipper t i s) = Zipper t i (fmap f s)
diff --git a/comonad-extras.cabal b/comonad-extras.cabal
--- a/comonad-extras.cabal
+++ b/comonad-extras.cabal
@@ -1,6 +1,6 @@
 name:          comonad-extras
 category:      Control, Comonads
-version:       2.1.1.2
+version:       2.1.2
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -35,8 +35,8 @@
     base                 >= 4       && < 5,
     containers           >= 0.4     && < 0.6,
     comonad              >= 1.1.1.5 && < 1.2,
-    comonad-transformers >= 2.1.1.1 && < 2.2,
-    comonads-fd          >= 2.1.1.1 && < 2.2,
+    comonad-transformers >= 2.1.2   && < 2.2,
+    comonads-fd          >= 2.1.2   && < 2.2,
     distributive         >= 0.2.2   && < 0.3,
     semigroupoids        >= 1.3.1.2 && < 1.4,
     transformers         >= 0.2     && < 0.4
