@@ -89,6 +89,7 @@ import GHCJS.Nullable (Nullable(..))
89import GHCJS.Prim.Internal (JSVal(..), JSValueRef)
89import GHCJS.Prim.Internal (JSVal(..), JSValueRef)
90import Data.JSString.Internal.Type (JSString(..))
90import Data.JSString.Internal.Type (JSString(..))
91import Control.DeepSeq (NFData(..))
91import Control.DeepSeq (NFData(..))
92+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
92import Control.Monad.Trans.Cont (ContT(..))
93import Control.Monad.Trans.Cont (ContT(..))
93import Control.Monad.Trans.Error (Error(..), ErrorT(..))
94import Control.Monad.Trans.Error (Error(..), ErrorT(..))
94import Control.Monad.Trans.Except (ExceptT(..))
95import Control.Monad.Trans.Except (ExceptT(..))
@@ -157,7 +158,7 @@ data JSContextRef = JSContextRef {
157type JSM = IO
158type JSM = IO
159newtype JSM a = JSM { unJSM :: ReaderT JSContextRef IO a }
160newtype JSM a = JSM { unJSM :: ReaderT JSContextRef IO a }
160− deriving (Functor, Applicative, Monad, MonadIO, MonadFix)
161+ deriving (Functor, Applicative, Monad, MonadIO, MonadFix, MonadCatch, MonadThrow, MonadMask)