titleInternal :: GInfo -> ValueTitleSource (String, t)
titleInternal gi =
  ValueTitleSource (\ (s, _) -> do
                     b <- newSimpleBroadcaster ""
                     let updaterIORef = internalNames gi
                     updater <- readIORef updaterIORef
                     let upd = (s, applySimpleUpdate b)
                     writeIORef updaterIORef $ upd : updater
                     return $ toSimpleSource b)
titleInternal :: GInfo -> ValueTitleSource (String, t)
titleInternal gi =
  ValueTitleSource (\ (s, _) -> do
                     b <- newSimpleBroadcaster ""
                     let updaterIORef = internalNames gi
                     updater <- readIORef updaterIORef
                     let upd = (s, applySimpleUpdate b)
                     writeIORef updaterIORef $ upd : updater
                     return $ toSimpleSource b)
titleInternal gi =
  ValueTitleSource (\ (s, _) -> do
                     b <- newSimpleBroadcaster ""
                     let updaterIORef = internalNames gi
                     updater <- readIORef updaterIORef
                     let upd = (s, applySimpleUpdate b)
                     writeIORef updaterIORef $ upd : updater
                     return $ toSimpleSource b)