@@ -196,7 +196,7 @@ instance PrimMonad m => PrimMonad (ImmediateDomBuilderT x m) where
196196instance MonadTrans (ImmediateDomBuilderT t) where
197197 lift = ImmediateDomBuilderT . lift . lift . lift
198198
199−instance (Reflex t, MonadFix m, PrimMonad m) => DomRenderHook t (ImmediateDomBuilderT t m) where
199+instance (Reflex t, MonadFix m) => DomRenderHook t (ImmediateDomBuilderT t m) where
200200 withRenderHook hook (ImmediateDomBuilderT a) = do
201201 e <- ImmediateDomBuilderT ask
202202 ImmediateDomBuilderT $ lift $ withRequesting $ \rsp -> do
@@ -271,7 +271,7 @@ localEnv :: Monad m => (ImmediateDomBuilderEnv t -> ImmediateDomBuilderEnv t) ->
271271localEnv f = ImmediateDomBuilderT . local f . unImmediateDomBuilderT
272272
273273{-# INLINABLE append #-}
274−append :: (IsNode n, MonadJSM m) => n -> ImmediateDomBuilderT t m ()
274+append :: MonadJSM m => DOM.Node -> ImmediateDomBuilderT t m ()
275275append n = do
276276 p <- askParent
277277 liftJSM $ appendChild_ p n
@@ -282,7 +282,7 @@ textNodeInternal :: (MonadJSM m, ToDOMString contents) => contents -> ImmediateD
282282textNodeInternal !t = do
283283 doc <- askDocument
284284 n <- liftJSM $ createTextNode doc t
285− append n
285+ append $ toNode n
286286 return n
287287
288288-- | s and e must both be children of the same node and s must precede e;
@@ -352,7 +352,7 @@ collectUpToGivenParent currentParent s e = do
352352newtype EventFilterTriggerRef t er (en :: EventTag) = EventFilterTriggerRef (IORef (Maybe (EventTrigger t (er en))))
353353
354354{-# INLINABLE wrap #-}
355−wrap :: forall m er t. SupportsImmediateDomBuilder t m => RawElement GhcjsDomSpace -> RawElementConfig er t GhcjsDomSpace -> ImmediateDomBuilderT t m (Element er GhcjsDomSpace t)
355+wrap :: forall m er t. (Reflex t, MonadFix m, MonadJSM m, MonadReflexCreateTrigger t m) => RawElement GhcjsDomSpace -> RawElementConfig er t GhcjsDomSpace -> ImmediateDomBuilderT t m (Element er GhcjsDomSpace t)
356356wrap e cfg = do
357357 events <- askEvents
358358 forM_ (_rawElementConfig_modifyAttributes cfg) $ \modifyAttrs -> requestDomAction_ $ ffor modifyAttrs $ imapM_ $ \(AttributeName mAttrNamespace n) mv -> case mAttrNamespace of
@@ -396,7 +396,7 @@ wrap e cfg = do
396396 }
397397
398398{-# INLINABLE makeElement #-}
399−makeElement :: forall er t m a. (Reflex t, MonadJSM m, MonadHold t m, MonadFix m, MonadReflexCreateTrigger t m, MonadRef m, Ref m ~ Ref JSM, MonadAdjust t m, PrimMonad m) => Text -> ElementConfig er t GhcjsDomSpace -> ImmediateDomBuilderT t m a -> ImmediateDomBuilderT t m ((Element er GhcjsDomSpace t, a), DOM.Element)
399+makeElement :: forall er t m a. (MonadJSM m, MonadFix m, MonadReflexCreateTrigger t m, MonadAdjust t m) => Text -> ElementConfig er t GhcjsDomSpace -> ImmediateDomBuilderT t m a -> ImmediateDomBuilderT t m ((Element er GhcjsDomSpace t, a), DOM.Element)
400400makeElement elementTag cfg child = do
401401 doc <- askDocument
402402 e <- liftJSM $ uncheckedCastTo DOM.Element <$> case cfg ^. namespace of
@@ -408,7 +408,7 @@ makeElement elementTag cfg child = do
408408 result <- flip localEnv child $ \env -> env
409409 { _immediateDomBuilderEnv_parent = toNode e
410410 }
411− append e
411+ append $ toNode e
412412 wrapped <- wrap e $ extractRawElementConfig cfg
413413 return ((wrapped, result), e)
414414
@@ -589,7 +589,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
589589 , _selectElement_raw = domSelectElement
590590 }
591591 return (wrapped, result)
592− placeRawElement = append
592+ placeRawElement = append . toNode
593593 wrapRawElement = wrap
594594 notReadyUntil e = do
595595 eOnce <- headE e
@@ -672,7 +672,7 @@ instance (Reflex t, MonadAdjust t m, MonadJSM m, MonadHold t m, MonadFix m, Prim
672672 unreadyChildren <- liftIO $ newIORef 0
673673 let f = do
674674 result <- a0
675− append after
675+ append $ toNode after
676676 return result
677677 result <- runReaderT (unImmediateDomBuilderT f) $ initialEnv
678678 { _immediateDomBuilderEnv_unreadyChildren = unreadyChildren
@@ -903,7 +903,7 @@ hoistTraverseIntMapWithKeyWithAdjust base updateChildUnreadiness applyDomUpdate_
903903 placeholders0 = fmap (\(_, ph, _, _) -> ph) children0
904904 result' = ffor children' $ fmap $ \(_, _, _, r) -> r
905905 liftIO $ writeIORef placeholders $! placeholders0
906− _ <- IntMap.traverseWithKey (\_ (df, _, _, _) -> void $ append df) children0
906+ _ <- IntMap.traverseWithKey (\_ (df, _, _, _) -> void $ append $ toNode df) children0
907907 liftIO . writeIORef lastPlaceholderRef =<< textNodeInternal ("" :: Text)
908908 requestDomAction_ $ ffor children' $ \p -> do
909909 (oldUnready, oldP) <- liftIO $ readIORef pendingChange
@@ -993,7 +993,7 @@ hoistTraverseWithKeyWithAdjust base mapPatch updateChildUnreadiness applyDomUpda
993993 placeholders0 = weakenDMapWith (\(Compose (_, ph, _, _)) -> ph) children0
994994 result' = ffor children' $ mapPatch $ \(Compose (_, _, _, r)) -> r
995995 liftIO $ writeIORef placeholders $! placeholders0
996− _ <- DMap.traverseWithKey (\_ (Compose (df, _, _, _)) -> Constant () <$ append df) children0
996+ _ <- DMap.traverseWithKey (\_ (Compose (df, _, _, _)) -> Constant () <$ append (toNode df)) children0
997997 liftIO . writeIORef lastPlaceholderRef =<< textNodeInternal ("" :: Text)
998998 requestDomAction_ $ ffor children' $ \p -> do
999999 (oldUnready, oldP) <- liftIO $ readIORef pendingChange