h* ,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy1.6.0.0 Safe-Inferred )*6 Safe-Inferred)*n$%&'()*+,-./ !"#$%&'()*+,-./ !"# Safe-Inferred')*0123456789:;<=>?0213456789:;<=>? Safe-Inferred)*]@ io-classesTMVar* that keeps its value in WHNF at all times@ABCHIKJLMNOPQRSTUDEFG@BACHIKJLMNOPQRSTUDEFG Safe-Inferred')*VWXYZ_`abcdefhg[\]^VXWYZ_`abcdefhg[\]^ Safe-Inferred'yo io-classes6Cast the monad if both use the same representation of TVars.=This function is useful for monad transformers stacks if the TVar$ is used in different monad stacks.p io-classesGet the underlying TVar9Since we obviously cannot guarantee that updates to this j3 will be strict, this should be used with caution.ijpqorstuvwxy klmnijpqorstuvwxy klmn Safe-Inferred  012@ABVWXij  `%Jrsutv$+&'*()/,-.56789:;<=>?IKLMNOPQRSTU_fabecdhgwxy"#FG]^mn !34CHDEYZ[\pqokl  012@ABVWXij  `%Jrsutv$+&'*()/,-.56789:;<=>?IKLMNOPQRSTU_fabecdhgwxy"#FG]^mn !34CHDEYZ[\pqokl                      !  " #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4io-classes-1.6.0.0-5TVPWOLX126If6c1jH2c4L-strict-stm(Control.Concurrent.Class.MonadSTM.Strict/Control.Concurrent.Class.MonadSTM.Strict.TArray-Control.Concurrent.Class.MonadSTM.Strict.TVar0Control.Concurrent.Class.MonadSTM.Strict.TBQueue.Control.Concurrent.Class.MonadSTM.Strict.TChan.Control.Concurrent.Class.MonadSTM.Strict.TMVar/Control.Concurrent.Class.MonadSTM.Strict.TQueue io-classes)io-classes-1.6.0.0-5TVPWOLX126If6c1jH2c4L%Control.Monad.Class.MonadSTM.InternalMonadSTM StrictTArray toLazyTArray LazyTArrayfromLazyTArraythrowSTMMonadInspectSTM InspectMonad inspectTMVar inspectTVarMonadLabelledSTMSTM atomicallycheckorElseretry MonadTraceSTM traceTSem traceTSemIO TraceValue DontTrace TraceDynamic TraceString traceDynamic traceString$fMArrayStrictTArrayestm StrictTBQueue toLazyTBQueue LazyTBQueuefromLazyTBQueuecastStrictTBQueue labelTBQueuelabelTBQueueIO traceTBQueuetraceTBQueueIO newTBQueue newTBQueueIO readTBQueuetryReadTBQueue peekTBQueuetryPeekTBQueue flushTBQueue writeTBQueue lengthTBQueueisEmptyTBQueue isFullTBQueue unGetTBQueue StrictTChan toLazyTChan LazyTChan fromLazyTChancastStrictTChannewTChannewBroadcastTChan writeTChan readTChan tryReadTChan peekTChan tryPeekTChandupTChan unGetTChan isEmptyTChan cloneTChan StrictTMVar toLazyTMVar LazyTMVar fromLazyTMVar labelTMVar labelTMVarIO traceTMVar traceTMVarIOcastStrictTMVarnewTMVar newTMVarIO newEmptyTMVarnewEmptyTMVarIO takeTMVar tryTakeTMVarputTMVar tryPutTMVar readTMVar tryReadTMVar swapTMVar writeTMVar isEmptyTMVar StrictTQueue toLazyTQueue LazyTQueuefromLazyTQueuecastStrictTQueue labelTQueue labelTQueueIO traceTQueue traceTQueueIO newTQueue newTQueueIO readTQueue tryReadTQueue peekTQueue tryPeekTQueue flushTQueue writeTQueue isEmptyTQueue unGetTQueue StrictTVarLazyTVar labelTVar labelTVarIO traceTVar traceTVarIOcastStrictTVar toLazyTVar fromLazyTVarnewTVar newTVarIOreadTVar readTVarIO writeTVar modifyTVar stateTVarswapTVar