@@ -211,19 +211,57 @@ instance MonadJSM JSM where
211 liftJSM' = id
211 liftJSM' = id
212 {-# INLINE liftJSM' #-}
212 {-# INLINE liftJSM' #-}
214−instance (MonadJSM m) => MonadJSM (ContT r m)
214+instance (MonadJSM m) => MonadJSM (ContT r m) where
215+ liftJSM' = lift . liftJSM'
216+ {-# INLINE liftJSM' #-}
215−instance (Error e, MonadJSM m) => MonadJSM (ErrorT e m)
218+instance (Error e, MonadJSM m) => MonadJSM (ErrorT e m) where
219+ liftJSM' = lift . liftJSM'
220+ {-# INLINE liftJSM' #-}
216−instance (MonadJSM m) => MonadJSM (ExceptT e m)
222+instance (MonadJSM m) => MonadJSM (ExceptT e m) where
223+ liftJSM' = lift . liftJSM'
224+ {-# INLINE liftJSM' #-}
217−instance (MonadJSM m) => MonadJSM (IdentityT m)
226+instance (MonadJSM m) => MonadJSM (IdentityT m) where
227+ liftJSM' = lift . liftJSM'
228+ {-# INLINE liftJSM' #-}
218−instance (MonadJSM m) => MonadJSM (ListT m)
230+instance (MonadJSM m) => MonadJSM (ListT m) where
231+ liftJSM' = lift . liftJSM'
232+ {-# INLINE liftJSM' #-}
219−instance (MonadJSM m) => MonadJSM (MaybeT m)
234+instance (MonadJSM m) => MonadJSM (MaybeT m) where
235+ liftJSM' = lift . liftJSM'
236+ {-# INLINE liftJSM' #-}
220−instance (MonadJSM m) => MonadJSM (ReaderT r m)
238+instance (MonadJSM m) => MonadJSM (ReaderT r m) where
239+ liftJSM' = lift . liftJSM'
240+ {-# INLINE liftJSM' #-}
221−instance (Monoid w, MonadJSM m) => MonadJSM (Lazy.RWST r w s m)
242+instance (Monoid w, MonadJSM m) => MonadJSM (Lazy.RWST r w s m) where
243+ liftJSM' = lift . liftJSM'
244+ {-# INLINE liftJSM' #-}
222−instance (Monoid w, MonadJSM m) => MonadJSM (Strict.RWST r w s m)
246+instance (Monoid w, MonadJSM m) => MonadJSM (Strict.RWST r w s m) where
247+ liftJSM' = lift . liftJSM'
248+ {-# INLINE liftJSM' #-}
223−instance (MonadJSM m) => MonadJSM (Lazy.StateT s m)
250+instance (MonadJSM m) => MonadJSM (Lazy.StateT s m) where
251+ liftJSM' = lift . liftJSM'
252+ {-# INLINE liftJSM' #-}
224−instance (MonadJSM m) => MonadJSM (Strict.StateT s m)
254+instance (MonadJSM m) => MonadJSM (Strict.StateT s m) where
255+ liftJSM' = lift . liftJSM'
256+ {-# INLINE liftJSM' #-}
225−instance (Monoid w, MonadJSM m) => MonadJSM (Lazy.WriterT w m)
258+instance (Monoid w, MonadJSM m) => MonadJSM (Lazy.WriterT w m) where
259+ liftJSM' = lift . liftJSM'
260+ {-# INLINE liftJSM' #-}
226−instance (Monoid w, MonadJSM m) => MonadJSM (Strict.WriterT w m)
262+instance (Monoid w, MonadJSM m) => MonadJSM (Strict.WriterT w m) where
263+ liftJSM' = lift . liftJSM'
264+ {-# INLINE liftJSM' #-}
228instance MonadRef JSM where
266instance MonadRef JSM where
229 type Ref JSM = Ref IO
267 type Ref JSM = Ref IO