@@ -58,8 +58,10 @@ instance (ReflexHost t, Ref m ~ Ref IO, MonadRef (HostFrame t), Ref (HostFrame t
5858instance (ReflexHost t, Monad (HostFrame t), MonadRef (HostFrame t), Ref (HostFrame t) ~ Ref IO, Ref m ~ Ref IO) => Deletable t (PerformEventT t m) where
5959 {-# INLINABLE deletable #-}
6060 deletable d a = PerformEventT $ do
61− (result, eventToPerform) <- lift $ runPerformEventT a
62− modify (align (fmap (PerformEventT . lift) eventToPerform) d :)
61+ (result, reverseEventsToPerform) <- lift $ runStateT (unPerformEventT a) []
62+ let (numberedEvents, _) = numberWith (\n e -> Const2 n :=> e) (reverse reverseEventsToPerform) (1 :: Word64)
63+ eventToPerform <- lift $ mergePerformEventsAndAdd (DMap.fromList numberedEvents) never
64+ modify (align eventToPerform d :)
6365 return result
6466
6567instance ReflexHost t => MonadReflexCreateTrigger t (PerformEventT t m) where