newRootSubscribed :: IO (Maybe a) -> IORef [WeakSubscriber a] -> IO (RootSubscribed a)
newRootSubscribed occ subs =
  return $! RootSubscribed
    { rootSubscribedOccurrence = occ
    , rootSubscribedSubscribers = subs
    }
newRootSubscribed :: IO (Maybe a) -> IORef [WeakSubscriber a] -> IO (RootSubscribed a)
newRootSubscribed occ subs =
  return $! RootSubscribed
    { rootSubscribedOccurrence = occ
    , rootSubscribedSubscribers = subs
    }
newRootSubscribed occ subs =
  return $! RootSubscribed
    { rootSubscribedOccurrence = occ
    , rootSubscribedSubscribers = subs
    }