diff --git a/Data/Reflection.hs b/Data/Reflection.hs
--- a/Data/Reflection.hs
+++ b/Data/Reflection.hs
@@ -160,9 +160,9 @@
 instance ReifiesStorable s => Reifies (Stable s a) a where
     reflect = r where
         r = unsafePerformIO $ do
-            pure <$> deRefStablePtr p <* freeStablePtr p
-
-        p = pointer reflectStorable r
+               pure <$> deRefStablePtr (pointer reflectStorable r)
+            -- pure <$> deRefStablePtr p <* freeStablePtr p
+        -- p = pointer reflectStorable r
 
         pointer :: Tagged (s' p) p -> Tagged (Stable s' a') a' -> p
         pointer (Tagged a) _ = a
@@ -171,11 +171,12 @@
 reify :: a -> (forall s. Reifies s a => Tagged s w) -> w
 reify a k = unsafePerformIO $ do
         p <- newStablePtr a
-        reifyStorable p (stable (reflect `before` (return <$> k)))
+        -- reifyStorable p (stable (reflect `before` (return <$> k)))
+        reifyStorable p (stable (return <$> k))
     where
         stable :: Retag (s' (StablePtr a')) (Stable s' a')
         stable = retag
-        before :: Tagged (s' a') a' -> Tagged (s' a') r -> Tagged (s' a') r
-        before = seq
+        -- before :: Tagged (s' a') a' -> Tagged (s' a') r -> Tagged (s' a') r
+        -- before = seq
 {-# NOINLINE reify #-}
 
diff --git a/reflection.cabal b/reflection.cabal
--- a/reflection.cabal
+++ b/reflection.cabal
@@ -1,5 +1,5 @@
 name:		    reflection
-version:	    0.3.1
+version:	    0.3.2
 license:	    BSD3
 license-file:   LICENSE
 author:		    Edward A. Kmett, Oleg Kiselyov and Chung-chieh Shan
