diff --git a/jsaddle.cabal b/jsaddle.cabal
--- a/jsaddle.cabal
+++ b/jsaddle.cabal
@@ -1,5 +1,5 @@
 name: jsaddle
-version: 0.2.0.0
+version: 0.2.0.1
 cabal-version: >=1.10
 license: MIT
 license-file: LICENSE
@@ -33,10 +33,6 @@
     description: Use WebKitGtk and JavaScriptCore for GHCJS output
     default: False
 
-flag jmacro
-    description: Include some JMacro support
-    default: True
-
 library
     -- Make sure ghcjs gets turned off if ghcjs-base is not avaialbe
     if flag(ghcjs)
@@ -57,12 +53,8 @@
             build-depends: webkit >=0.13.0.0 && <0.14,
                            webkit-javascriptcore >=0.13.0.0 && <0.14
 
-    if flag(jmacro)
-        exposed-modules: Language.Javascript.JSaddle.JMacro
-        build-depends: jmacro >=0.6.3 && <0.8
-
-    build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.4,
-                   text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.5
+    build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.6,
+                   text >=0.11.2.3 && <1.3, transformers >=0.3.0.0 && <0.5
 
     exposed-modules: Language.Javascript.JSaddle
                      Language.Javascript.JSaddle.Arguments Language.Javascript.JSaddle.Classes
@@ -94,9 +86,6 @@
             build-depends: gtk3, webkitgtk3, webkitgtk3-javascriptcore
         else
             build-depends: gtk, webkit, webkit-javascriptcore
-
-    if flag(jmacro)
-        build-depends: jmacro
 
     build-depends: template-haskell, base, lens, text,
                    transformers, hslogger, jsaddle
diff --git a/src/Language/Javascript/JSaddle.hs b/src/Language/Javascript/JSaddle.hs
--- a/src/Language/Javascript/JSaddle.hs
+++ b/src/Language/Javascript/JSaddle.hs
@@ -42,17 +42,11 @@
   --   convert a Haskell function in the JSM monad into a javascript
   --   value.
 
-  -- * JMacro Support
-  -- | If you want a more JavaScript like syntax we also have a
-  --   JMacro based QuasiQuoter 'evalJM'.  This converts your JMacro
-  --   code into a string literal and a call to @eval@ to evaluate it
-  --   using JavaScriptCore.
-
   -- * GHCJS Support
-  -- | Because it uses webkit-javascriptcore you can compile your JSaddle code to
-  --   JavaScript using GHCJS <https://github.com/ghcjs/ghcjs> and run it
-  --   in a web browser.  Calls to the WebKitGTK+ JavaScriptCore C functions
-  --   will be replaced with JavaScript function calls.
+  -- | When built with ghcjs the code works using JavaScript FFI by default.
+  --   It can also be built to use webkitgtk3-javascriptcore C FFI as there
+  --   are shims for these (but this introduces a dependancy on WebKitGTK+
+  --   and is probably not as fast).
 
   -- * Modules
     module JSaddle
@@ -65,7 +59,4 @@
 import Language.Javascript.JSaddle.Properties as JSaddle
 import Language.Javascript.JSaddle.Object as JSaddle
 import Language.Javascript.JSaddle.Evaluate as JSaddle
-#ifdef MIN_VERSION_jmacro
-import Language.Javascript.JSaddle.JMacro as JSaddle
-#endif
 import Language.Javascript.JSaddle.String as JSaddle
diff --git a/src/Language/Javascript/JSaddle/JMacro.hs b/src/Language/Javascript/JSaddle/JMacro.hs
deleted file mode 100644
--- a/src/Language/Javascript/JSaddle/JMacro.hs
+++ /dev/null
@@ -1,43 +0,0 @@
-{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
------------------------------------------------------------------------------
---
--- Module      :  Language.Javascript.JSaddle.JMacro
--- Copyright   :  (c) Hamish Mackenzie
--- License     :  MIT
---
--- Maintainer  :  Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
---
--- | Helper function to make it easy to embed JMacro in your code and
---   use it from JSaddle
---
------------------------------------------------------------------------------
-
-module Language.Javascript.JSaddle.JMacro (
-    evalJM
-  , evalJME
-) where
-
-import Language.Haskell.TH.Quote (QuasiQuoter(..))
-import Language.Haskell.TH
-       (varE, appE, Lit(..), Exp(..), mkName, ExpQ)
-import Language.Javascript.JMacro (jmacro, jmacroE, renderJs)
-
--- | Quasi quoter that creates a JavaScript string from JMacro expression
---   and stores it in a string litteral
-evalJME :: QuasiQuoter
-evalJME = jmacroE {quoteExp = quoteEvalJME}
-
-quoteEvalJME :: String -> ExpQ
-quoteEvalJME s =
-    appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")
-        (LitE . StringL . show $ renderJs $(quoteExp jmacroE s))|]
-
--- | Quasi quoter that creates a JavaScript string from JMacro statement
---   and stores it in a string litteral
-evalJM :: QuasiQuoter
-evalJM = jmacro {quoteExp = quoteEvalJM}
-
-quoteEvalJM :: String -> ExpQ
-quoteEvalJM s =
-    appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")
-        (LitE . StringL . show $ renderJs $(quoteExp jmacro s))|]
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
@@ -78,7 +78,7 @@
 import Language.Javascript.JSaddle.Types
        (JSPropertyNameArrayRef, JSStringRef, JSObjectRef, JSValueRefRef,
         JSValueRef, JSContextRef, Index)
-import Foreign.C.Types (CSize(..), CULong(..), CUInt(..))
+import Foreign.C.Types (CSize(..), CULong(..), CUInt(..), CULLong(..))
 #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 import GHCJS.Types (nullRef, castRef, JSArray, JSFun)
 import GHCJS.Foreign (newObj, toArray, fromArray, syncCallback2, ForeignRetention(..))
