úÎ~À  SafeType synonym of  where the underlying   is the   monad.ÿ The Phantom State Transformer is like the State Monad Transformer, but it does not hold any value. Therefore, it automatically discards the result of any computation. Only changes in the state and effects will remain. This transformer produces a new   functor from any  2. The primitive operations in this functor are:': Performs effects. State is unchanged.(: Changes state. No effect is performed.%: Changes state and performs effects. Although  and  are defined in terms of : d useState f = useAndChangeState (\s -> f s *> pure s) changeState f = useAndChangeState (pure . f)So  is the only actual primitive.Use  (or 6) to get the result of a phantom state computation.—Perform an applicative action using the current state, leaving the state unchanged. The result will be discarded, so only the effect will remain.gModify the state using a pure function. No effect will be produced, only the state will be modified.Combination of  and º. It allows you to change the state while performing any effects. The new state will be the result of applying the argument function to the old state. The following equations hold: ‰ useState f *> changeState g } } = useAndChangeState (\s -> f s *> g s) changeState g *> useState f }jPerform a phantom state computation by setting an initial state and running all the actions from there.Specialized version of  where the underlying   is the   monad.  Phantom state computation Initial state Final resultPhantom state computation Initial state Final result         ,phantom-state-0.2.1.2-9gkJHClcKgj27LITEY11xd Control.Applicative.PhantomState PhantomState PhantomStateTuseState changeStateuseAndChangeStaterunPhantomStateTrunPhantomState$fAlternativePhantomStateT$fApplicativePhantomStateT$fFunctorPhantomStateTbaseGHC.BaseMonadData.Functor.IdentityIdentity Applicative