diff --git a/jsaddle.cabal b/jsaddle.cabal
--- a/jsaddle.cabal
+++ b/jsaddle.cabal
@@ -1,5 +1,5 @@
 name: jsaddle
-version: 0.4.0.4
+version: 0.4.0.5
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
diff --git a/src/Language/Javascript/JSaddle/Monad.hs b/src/Language/Javascript/JSaddle/Monad.hs
--- a/src/Language/Javascript/JSaddle/Monad.hs
+++ b/src/Language/Javascript/JSaddle/Monad.hs
@@ -121,11 +121,11 @@
 #endif
 
 #ifdef ghcjs_HOST_OS
-runJSaddle :: w -> JSM a -> IO a
-runJSaddle _ f = runReaderT f ()
+runJSaddle :: MonadIO m => w -> JSM a -> m a
+runJSaddle _ f = liftIO $ runReaderT f ()
 #else
-runJSaddle :: WebView -> JSM a -> IO a
-runJSaddle webView f = do
+runJSaddle :: MonadIO m => WebView -> JSM a -> m a
+runJSaddle webView f = liftIO $ do
     GlobalContext gctxt <- webViewGetMainFrame webView >>= webFrameGetGlobalContext
     withForeignPtr gctxt $ \ptr ->
         runReaderT f (castPtr ptr)
diff --git a/src/Language/Javascript/JSaddle/Object.hs b/src/Language/Javascript/JSaddle/Object.hs
--- a/src/Language/Javascript/JSaddle/Object.hs
+++ b/src/Language/Javascript/JSaddle/Object.hs
@@ -203,10 +203,10 @@
 --
 -- > jss name = to (<#name)
 --
--- >>> testJSaddle $ eval "'Hello World'.length"
--- 11
--- >>> testJSaddle $ val "Hello World" ^. js "length"
--- 11
+-- >>> testJSaddle $ eval "'Hello World'.length = 12"
+-- 12
+-- >>> testJSaddle $ val "Hello World" ^. jss "length" 12
+-- 12
 jss :: (ToJSString name, ToJSVal val)
    => name          -- ^ Name of the property to find
    -> val
@@ -715,7 +715,3 @@
 #else
 nullObject = Object . unsafePerformIO $ newForeignPtr_ nullPtr
 #endif
-
-
-
-
