@@ -134,6 +134,7 @@ module Reflex.Class
134134 , unsafeBuildDynamic
135135 , unsafeBuildIncremental
136136 , mergeIncremental
137+ , mergeIncrementalWithMove
137138 , currentIncremental
138139 , updatedIncremental
139140 , incrementalToDynamic
@@ -314,6 +315,7 @@ updated :: Reflex t => Dynamic t a -> Event t a
314315unsafeBuildDynamic :: Reflex t => PullM t a -> Event t a -> Dynamic t a
315316unsafeBuildIncremental :: (Reflex t, Patch p) => PullM t (PatchTarget p) -> Event t p -> Incremental t p
316317mergeIncremental :: (Reflex t, GCompare k) => Incremental t (PatchDMap k (Event t)) -> Event t (DMap k Identity)
318+mergeIncrementalWithMove :: (Reflex t, GCompare k) => Incremental t (PatchDMapWithMove k (Event t)) -> Event t (DMap k Identity)
317319currentIncremental :: (Reflex t, Patch p) => Incremental t p -> Behavior t (PatchTarget p)
318320updatedIncremental :: (Reflex t, Patch p) => Incremental t p -> Event t p
319321incrementalToDynamic :: (Reflex t, Patch p) => Incremental t p -> Dynamic t (PatchTarget p)
@@ -348,6 +350,8 @@ unsafeBuildDynamic readV0 v' = SpiderDynamic $ dynamicDynIdentity $ unsafeDyn (c
348350unsafeBuildIncremental readV0 dv = SpiderIncremental $ S.dynamicDyn $ unsafeDyn (coerce readV0) $ unSpiderEvent dv
349351{-# INLINE mergeIncremental #-}
350352mergeIncremental = SpiderEvent . S.merge . (unsafeCoerce :: S.Dynamic x (PatchDMap k (Event (SpiderTimeline x))) -> S.Dynamic x (PatchDMap k (S.Event x))) . unSpiderIncremental
353+{-# INLINE mergeIncrementalWithMove #-}
354+mergeIncrementalWithMove = SpiderEvent . S.mergeWithMove . (unsafeCoerce :: S.Dynamic x (PatchDMapWithMove k (Event (SpiderTimeline x))) -> S.Dynamic x (PatchDMapWithMove k (S.Event x))) . unSpiderIncremental
351355{-# INLINE currentIncremental #-}
352356currentIncremental = SpiderBehavior . dynamicCurrent . unSpiderIncremental
353357{-# INLINE updatedIncremental #-}