diff --git a/Control/Spoon.hs b/Control/Spoon.hs
--- a/Control/Spoon.hs
+++ b/Control/Spoon.hs
@@ -24,18 +24,18 @@
 import System.IO.Unsafe
 
 handlers :: [Handler (Maybe a)]
-handlers = [ Handler $ \(_ :: ArithException) -> return Nothing
-           , Handler $ \(_ :: ArrayException) -> return Nothing
-           , Handler $ \(_ :: ErrorCall) -> return Nothing
+handlers = [ Handler $ \(_ :: ArithException)   -> return Nothing
+           , Handler $ \(_ :: ArrayException)   -> return Nothing
+           , Handler $ \(_ :: ErrorCall)        -> return Nothing
            , Handler $ \(_ :: PatternMatchFail) -> return Nothing
-           , Handler $ \(x :: SomeException) -> throwIO x
+           , Handler $ \(x :: SomeException)    -> throwIO x
            ]
 
 -- | Evaluate a value to normal form and return Nothing if any exceptions are thrown during evaluation. For any error-free value, @spoon = Just@.
 spoon :: NFData a => a -> Maybe a
-spoon a = unsafePerformIO $ (deepseq a (Just `fmap` return a)) `catches` handlers
+spoon a = unsafePerformIO $ deepseq a (Just `fmap` return a) `catches` handlers
 
 -- | Like 'spoon', but only evaluates to WHNF.
 teaspoon :: a -> Maybe a
-teaspoon a = unsafePerformIO $ (Just `fmap` (return $! a)) `catches` handlers
+teaspoon a = unsafePerformIO $ (Just `fmap` evaluate a) `catches` handlers
 
diff --git a/spoon.cabal b/spoon.cabal
--- a/spoon.cabal
+++ b/spoon.cabal
@@ -1,5 +1,5 @@
 name:		      spoon
-version:	    0.2
+version:	    0.3
 license:	    BSD3
 license-file: LICENSE
 author:		    Matt Morrow, Dan Peebles
