diff --git a/GPipe.cabal b/GPipe.cabal
--- a/GPipe.cabal
+++ b/GPipe.cabal
@@ -1,5 +1,5 @@
 name: GPipe
-version: 1.2.0
+version: 1.2.1
 cabal-version: >= 1.2.3
 build-type: Simple
 license: BSD3
@@ -35,8 +35,8 @@
                        GLUT ==2.2.2.0,
                        OpenGL ==2.4.0.1,
                        Boolean == 0.0.1,
-                       Vec == 0.9.6, 
-                       Vec-Boolean == 1.0.2,
+                       Vec == 0.9.7, 
+                       Vec-Boolean == 1.0.3,
                        base >= 3 && < 5
     else
         build-depends: containers >= 0.2 && < 0.3,
@@ -45,8 +45,8 @@
                        GLUT ==2.2.2.0,
                        OpenGL ==2.4.0.1,
                        Boolean == 0.0.1,
-                       Vec == 0.9.6, 
-                       Vec-Boolean == 1.0.2,
+                       Vec == 0.9.7, 
+                       Vec-Boolean == 1.0.3,
                        base >= 3 && < 5
                        
     exposed-modules: Graphics.GPipe
diff --git a/src/Resources.hs b/src/Resources.hs
--- a/src/Resources.hs
+++ b/src/Resources.hs
@@ -341,18 +341,15 @@
         setAndGetHiddenWindow = do GLUT.currentWindow $= Just (contextWindow hiddenWindowContextCache)
                                    return hiddenWindowContextCache
 
-
-evaluateDeep a = do t <- evaluate (a==a)
-                    case t of True  -> return a
-                              False -> return undefined
+evaluateDeep a = do evaluate (a==a)
+                    return a
 
 ioEvaluate :: Eq a => a -> ContextCacheIO a
 ioEvaluate = liftIO . evaluateDeep
 
 evaluatePtr p = do a <- peek (castPtr p :: Ptr CUChar)
-                   t <- evaluate (a==a)
-                   case t of True  -> return p
-                             False -> return undefined
+                   evaluate (a==a)
+                   return p
 
 ----------------------------------------------------
 -- Texture operations
