@@ -1131,9 +1131,16 @@ newInvalidatorPull p = return $! InvalidatorPull p
1131instance HasSpiderTimeline x => Filterable (Event x) where
1131instance HasSpiderTimeline x => Filterable (Event x) where
1132 mapMaybe f = push $ return . f
1132 mapMaybe f = push $ return . f
1134+#if MIN_VERSION_these(0, 8, 0)
1135+instance HasSpiderTimeline x => Semialign (Event x) where
1136+ align ea eb = mapMaybe dmapToThese $ merge $ dynamicConst $ DMap.fromDistinctAscList [LeftTag :=> ea, RightTag :=> eb]
1137+instance HasSpiderTimeline x => Align (Event x) where
1134instance HasSpiderTimeline x => Align (Event x) where
1140instance HasSpiderTimeline x => Align (Event x) where
1135 nil = eventNever
1141 nil = eventNever
1136 align ea eb = mapMaybe dmapToThese $ merge $ dynamicConst $ DMap.fromDistinctAscList [LeftTag :=> ea, RightTag :=> eb]
1142 align ea eb = mapMaybe dmapToThese $ merge $ dynamicConst $ DMap.fromDistinctAscList [LeftTag :=> ea, RightTag :=> eb]
1138data DynType x p = UnsafeDyn !(BehaviorM x (PatchTarget p), Event x p)
1145data DynType x p = UnsafeDyn !(BehaviorM x (PatchTarget p), Event x p)
1139 | BuildDyn !(EventM x (PatchTarget p), Event x p)
1146 | BuildDyn !(EventM x (PatchTarget p), Event x p)