@@ -78,8 +78,7 @@ import Data.Tree (Forest, Tree (..), drawForest)
7878import Data.FastWeakBag (FastWeakBag)
7979import qualified Data.FastWeakBag as FastWeakBag
8080import Data.Reflection
81−import Data.Some (Some)
82−import qualified Data.Some as Some
81+import Data.Some (Some(Some))
8382import Data.Type.Coercion
8483import Data.Profunctor.Unsafe ((#.), (.#))
8584import Data.WeakBag (WeakBag, WeakBagTicket, _weakBag_children)
@@ -587,7 +586,7 @@ eventSubscribedFan !subscribed = EventSubscribed
587586 { eventSubscribedHeightRef = eventSubscribedHeightRef $ _eventSubscription_subscribed $ fanSubscribedParent subscribed
588587 , eventSubscribedRetained = toAny subscribed
589588#ifdef DEBUG_CYCLES
590− , eventSubscribedGetParents = return [Some.This $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
589+ , eventSubscribedGetParents = return [Some $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
591590 , eventSubscribedHasOwnHeightRef = False
592591 , eventSubscribedWhoCreated = whoCreatedIORef $ fanSubscribedCachedSubscribed subscribed
593592#endif
@@ -600,7 +599,7 @@ eventSubscribedSwitch !subscribed = EventSubscribed
600599#ifdef DEBUG_CYCLES
601600 , eventSubscribedGetParents = do
602601 s <- readIORef $ switchSubscribedCurrentParent subscribed
603− return [Some.This $ _eventSubscription_subscribed s]
602+ return [Some $ _eventSubscription_subscribed s]
604603 , eventSubscribedHasOwnHeightRef = True
605604 , eventSubscribedWhoCreated = whoCreatedIORef $ switchSubscribedCachedSubscribed subscribed
606605#endif
@@ -613,8 +612,8 @@ eventSubscribedCoincidence !subscribed = EventSubscribed
613612#ifdef DEBUG_CYCLES
614613 , eventSubscribedGetParents = do
615614 innerSubscription <- readIORef $ coincidenceSubscribedInnerParent subscribed
616− let outerParent = Some.This $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
617− innerParents = maybeToList $ fmap Some.This innerSubscription
615+ let outerParent = Some $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
616+ innerParents = maybeToList $ fmap Some innerSubscription
618617 return $ outerParent : innerParents
619618 , eventSubscribedHasOwnHeightRef = True
620619 , eventSubscribedWhoCreated = whoCreatedIORef $ coincidenceSubscribedCachedSubscribed subscribed
@@ -630,13 +629,13 @@ whoCreatedEventSubscribed = eventSubscribedWhoCreated
630629
631630walkInvalidHeightParents :: EventSubscribed x -> IO [Some (EventSubscribed x)]
632631walkInvalidHeightParents s0 = do
633− subscribers <- flip execStateT mempty $ ($ Some.This s0) $ fix $ \loop (Some.This s) -> do
632+ subscribers <- flip execStateT mempty $ ($ Some s0) $ fix $ \loop (Some s) -> do
634633 h <- liftIO $ readIORef $ eventSubscribedHeightRef s
635634 when (h == invalidHeight) $ do
636635 when (eventSubscribedHasOwnHeightRef s) $ liftIO $ writeIORef (eventSubscribedHeightRef s) $! invalidHeightBeingTraversed
637− modify (Some.This s :)
636+ modify (Some s :)
638637 mapM_ loop =<< liftIO (eventSubscribedGetParents s)
639− forM_ subscribers $ \(Some.This s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
638+ forM_ subscribers $ \(Some s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
640639 return subscribers
641640#endif
642641
@@ -664,7 +663,7 @@ behaviorPull !p = Behavior $ do
664663 val <- liftIO $ readIORef $ pullValue p
665664 case val of
666665 Just subscribed -> do
667− askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some.This (BehaviorSubscribedPull subscribed)) :))
666+ askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) :))
668667 askInvalidator >>= mapM_ (\wi -> liftIO $ modifyIORef' (pullSubscribedInvalidators subscribed) (wi:))
669668 liftIO $ touch $ pullSubscribedOwnInvalidator subscribed
670669 return $ pullSubscribedValue subscribed
@@ -683,7 +682,7 @@ behaviorPull !p = Behavior $ do
683682 , pullSubscribedParents = parents
684683 }
685684 liftIO $ writeIORef (pullValue p) $ Just subscribed
686− askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some.This (BehaviorSubscribedPull subscribed)) :))
685+ askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) :))
687686 return a
688687
689688behaviorDyn :: Patch p => Dyn x p -> Behavior x (PatchTarget p)
@@ -694,7 +693,7 @@ readHoldTracked :: Hold x p -> BehaviorM x (PatchTarget p)
694693readHoldTracked h = do
695694 result <- liftIO $ readIORef $ holdValue h
696695 askInvalidator >>= mapM_ (\wi -> liftIO $ modifyIORef' (holdInvalidators h) (wi:))
697− askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some.This (BehaviorSubscribedHold h)) :))
696+ askParentsRef >>= mapM_ (\r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedHold h)) :))
698697 liftIO $ touch h -- Otherwise, if this gets inlined enough, the hold's parent reference may get collected
699698 return result
700699
@@ -867,7 +866,7 @@ instance HasSpiderTimeline x => Defer (Some Clear) (EventM x) where
867866
868867{-# INLINE scheduleClear #-}
869868scheduleClear :: Defer (Some Clear) m => IORef (Maybe a) -> m ()
870−scheduleClear r = defer $ Some.This $ Clear r
869+scheduleClear r = defer $ Some $ Clear r
871870
872871instance HasSpiderTimeline x => Defer (Some IntClear) (EventM x) where
873872 {-# INLINE getDeferralQueue #-}
@@ -875,7 +874,7 @@ instance HasSpiderTimeline x => Defer (Some IntClear) (EventM x) where
875874
876875{-# INLINE scheduleIntClear #-}
877876scheduleIntClear :: Defer (Some IntClear) m => IORef (IntMap a) -> m ()
878−scheduleIntClear r = defer $ Some.This $ IntClear r
877+scheduleIntClear r = defer $ Some $ IntClear r
879878
880879instance HasSpiderTimeline x => Defer (Some RootClear) (EventM x) where
881880 {-# INLINE getDeferralQueue #-}
@@ -883,7 +882,7 @@ instance HasSpiderTimeline x => Defer (Some RootClear) (EventM x) where
883882
884883{-# INLINE scheduleRootClear #-}
885884scheduleRootClear :: Defer (Some RootClear) m => IORef (DMap k Identity) -> m ()
886−scheduleRootClear r = defer $ Some.This $ RootClear r
885+scheduleRootClear r = defer $ Some $ RootClear r
887886
888887instance HasSpiderTimeline x => Defer (SomeResetCoincidence x) (EventM x) where
889888 {-# INLINE getDeferralQueue #-}
@@ -1872,7 +1871,7 @@ mergeSubscriber m getKey = Subscriber
18721871 else liftIO $ do
18731872#ifdef DEBUG_CYCLES
18741873 nodesInvolvedInCycle <- walkInvalidHeightParents $ eventSubscribedMerge subscribed
1875− stacks <- forM nodesInvolvedInCycle $ \(Some.This es) -> whoCreatedEventSubscribed es
1874+ stacks <- forM nodesInvolvedInCycle $ \(Some es) -> whoCreatedEventSubscribed es
18761875 let cycleInfo = ":\n" <> drawForest (listsToForest stacks)
18771876#else
18781877 let cycleInfo = ""
@@ -2116,11 +2115,11 @@ runFrame a = SpiderHost $ do
21162115 return result
21172116 result <- runEventM go
21182117 toClear <- readIORef $ eventEnvClears env
2119− forM_ toClear $ \(Some.This (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
2118+ forM_ toClear $ \(Some (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
21202119 toClearInt <- readIORef $ eventEnvIntClears env
2121− forM_ toClearInt $ \(Some.This (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap.empty
2120+ forM_ toClearInt $ \(Some (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap.empty
21222121 toClearRoot <- readIORef $ eventEnvRootClears env
2123− forM_ toClearRoot $ \(Some.This (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap.empty
2122+ forM_ toClearRoot $ \(Some (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap.empty
21242123 toAssign <- readIORef $ eventEnvAssignments env
21252124 toReconnectRef <- newIORef []
21262125 coincidenceInfos <- readIORef $ eventEnvResetCoincidences env
@@ -2480,7 +2479,7 @@ unsafeNewSpiderTimelineEnv = do
24802479
24812480-- | Create a new SpiderTimelineEnv
24822481newSpiderTimeline :: IO (Some SpiderTimelineEnv)
2483−newSpiderTimeline = withSpiderTimeline (pure . Some.This)
2482+newSpiderTimeline = withSpiderTimeline (pure . Some)
24842483
24852484data LocalSpiderTimeline (x :: Type) s
24862485