Created
February 16, 2018 14:03
-
-
Save Lysxia/34684c9ca9fe4772ea38a5065414f542 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
==================== Tidy Core ==================== | |
2018-02-16 13:58:15.651609941 UTC | |
Result size of Tidy Core = {terms: 277, types: 955, coercions: 640} | |
-- RHS size: {terms: 1, types: 0, coercions: 22} | |
K.$fMonadTransStateT_$clift | |
:: forall s_a4sc (m_a4id :: * -> *) a_a4ie. | |
Monad m_a4id => | |
m_a4id a_a4ie -> StateT s_a4sc m_a4id a_a4ie | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,1*C1(C1(U)),A,C(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> StateT s_a4sc m_a4sg a_a4sh) :: *))}] | |
K.$fMonadTransStateT_$clift = | |
Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> StateT s_a4sc m_a4sg a_a4sh) :: *)) | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fMonadTransStateT [InlPrag=INLINE (sat-args=0)] | |
:: forall s_a4lK. MonadTrans (StateT s_a4lK) | |
[GblId[DFunId(nt)], | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,1*C1(C1(U)),A,C(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True) | |
Tmpl= K.$fMonadTransStateT_$clift | |
`cast` (forall (s_X4sF :: <*>_N). | |
Sym (Control.Monad.Trans.Class.N:MonadTrans[0] <StateT s_X4sF>_N) | |
:: ((forall s_X4sF (m_a4id :: * -> *) a_a4ie. | |
Monad m_a4id => | |
m_a4id a_a4ie -> StateT s_X4sF m_a4id a_a4ie) :: *) | |
~R# | |
((forall s_X4sF. MonadTrans (StateT s_X4sF)) :: Constraint))}] | |
K.$fMonadTransStateT = | |
Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
(forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N) | |
; Sym (Control.Monad.Trans.Class.N:MonadTrans[0] <StateT s_a4sc>_N) | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc. MonadTrans (StateT s_a4sc)) :: Constraint)) | |
-- RHS size: {terms: 22, types: 44, coercions: 24} | |
K.$fPrimMonadStateT_$cprimitive [InlPrag=INLINE (sat-args=1)] | |
:: forall (m_a4t5 :: * -> *) s_a4t6. | |
PrimMonad m_a4t5 => | |
forall a_a4tf. | |
(GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) | |
-> StateT s_a4t6 m_a4t5 a_a4tf | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(1*U,1*C1(U))><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=2,unsat_ok=False,boring_ok=False) | |
Tmpl= \ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) | |
(@ a_a4tg) | |
(eta_B1 [Occ=Once] | |
:: GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tg #)) -> | |
K.$fMonadTransStateT_$clift | |
@ s_a4t6 | |
@ m_a4t5 | |
@ a_a4tg | |
(Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7) | |
(primitive | |
@ m_a4t5 | |
$dPrimMonad_a4t7 | |
@ a_a4tg | |
(eta_B1 | |
`cast` ((GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R | |
-> (# (GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R, | |
<a_a4tg>_R #)_R | |
:: ((GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tg #)) :: *) | |
~R# | |
((GHC.Prim.State# (PrimState m_a4t5) | |
-> (# GHC.Prim.State# (PrimState m_a4t5), a_a4tg #)) :: *))))}] | |
K.$fPrimMonadStateT_$cprimitive = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) | |
(@ a_a4tf) | |
(eta_B1 | |
:: GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) -> | |
let { | |
$dMonad_a5qV [Dmd=<L,U(U,C(C(U)),U,C(U),U)>] :: Monad m_a4t5 | |
[LclId, Str=DmdType] | |
$dMonad_a5qV = | |
Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7 } in | |
let { | |
m1_a5qW :: m_a4t5 a_a4tf | |
[LclId, Str=DmdType] | |
m1_a5qW = | |
primitive | |
@ m_a4t5 | |
$dPrimMonad_a4t7 | |
@ a_a4tf | |
(eta_B1 | |
`cast` ((GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R | |
-> (# (GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R, | |
<a_a4tf>_R #)_R | |
:: ((GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) :: *) | |
~R# | |
((GHC.Prim.State# (PrimState m_a4t5) | |
-> (# GHC.Prim.State# (PrimState m_a4t5), a_a4tf #)) :: *))) } in | |
(\ (s1_a5qY :: s_a4t6) -> | |
>>= | |
@ m_a4t5 | |
$dMonad_a5qV | |
@ a_a4tf | |
@ (a_a4tf, s_a4t6) | |
m1_a5qW | |
(\ (a1_a5qZ :: a_a4tf) -> | |
return | |
@ m_a4t5 $dMonad_a5qV @ (a_a4tf, s_a4t6) (a1_a5qZ, s1_a5qY))) | |
`cast` (Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4t6>_N <m_a4t5>_R <a_a4tf>_N) | |
; Sym K.N:StateT[0] <s_a4t6>_N <m_a4t5>_N <a_a4tf>_N | |
:: ((s_a4t6 -> m_a4t5 (a_a4tf, s_a4t6)) :: *) | |
~R# | |
(StateT s_a4t6 m_a4t5 a_a4tf :: *)) | |
-- RHS size: {terms: 6, types: 13, coercions: 0} | |
K.$fMonadStateT1 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. String -> S.StateT s_a4pN m_a4pO a_a4rL | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,A,C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_a4pN) | |
(@ (m_a4pO :: * -> *)) | |
($dMonad_a4pP [Occ=Once] :: Monad m_a4pO) | |
(@ a_a4rL) | |
(eta_B1 [Occ=Once] :: String) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_a4pO @ s_a4pN $dMonad_a4pP @ a_a4rL eta_B1}] | |
K.$fMonadStateT1 = | |
\ (@ s_a4pN) | |
(@ (m_a4pO :: * -> *)) | |
($dMonad_a4pP :: Monad m_a4pO) | |
(@ a_a4rL) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_a4pO @ s_a4pN $dMonad_a4pP @ a_a4rL | |
-- RHS size: {terms: 1, types: 0, coercions: 22} | |
K.$fMonadStateT_$cfail | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4he. String -> StateT s_a4pN m_a4pO a_a4he | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,A,C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT1 | |
`cast` (forall (s_a4pN :: <*>_N). | |
forall (m_a4pO :: <* -> *>_N). | |
<Monad m_a4pO>_R | |
-> forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_a4pN>_N <m_a4pO>_N <a_a4rL>_N | |
:: ((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> S.StateT s_a4pN m_a4pO a_a4rL) :: *) | |
~R# | |
((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> StateT s_a4pN m_a4pO a_a4rL) :: *))}] | |
K.$fMonadStateT_$cfail = | |
K.$fMonadStateT1 | |
`cast` (forall (s_a4pN :: <*>_N). | |
forall (m_a4pO :: <* -> *>_N). | |
<Monad m_a4pO>_R | |
-> forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_a4pN>_N <m_a4pO>_N <a_a4rL>_N | |
:: ((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> S.StateT s_a4pN m_a4pO a_a4rL) :: *) | |
~R# | |
((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> StateT s_a4pN m_a4pO a_a4rL) :: *)) | |
-- RHS size: {terms: 6, types: 13, coercions: 0} | |
K.$fMonadStateT2 | |
:: forall s_X4qo (m_X4qq :: * -> *). | |
Monad m_X4qq => | |
forall a_a4rj. a_a4rj -> s_X4qo -> m_X4qq (a_a4rj, s_X4qo) | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4qo) | |
(@ (m_X4qq :: * -> *)) | |
($dMonad_X4qs [Occ=Once] :: Monad m_X4qq) | |
(@ a_a4rj) | |
(eta_B2 [Occ=Once] :: a_a4rj) | |
(eta1_B1 [Occ=Once] :: s_X4qo) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4qq @ s_X4qo $dMonad_X4qs @ a_a4rj eta_B2 eta1_B1}] | |
K.$fMonadStateT2 = | |
\ (@ s_X4qo) | |
(@ (m_X4qq :: * -> *)) | |
($dMonad_X4qs :: Monad m_X4qq) | |
(@ a_a4rj) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4qq @ s_X4qo $dMonad_X4qs @ a_a4rj | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fMonadStateT_$creturn | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4hc. a_a4hc -> StateT s_a4pN m_a4pO a_a4hc | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT2 | |
`cast` (forall (s_X4rg :: <*>_N). | |
forall (m_X4rj :: <* -> *>_N). | |
<Monad m_X4rj>_R | |
-> forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rg>_N <m_X4rj>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rg>_N <m_X4rj>_N <a_X4sd>_N | |
:: ((forall s_X4rg (m_X4rj :: * -> *). | |
Monad m_X4rj => | |
forall a_X4sd. a_X4sd -> s_X4rg -> m_X4rj (a_X4sd, s_X4rg)) :: *) | |
~R# | |
((forall s_X4rg (m_X4rj :: * -> *). | |
Monad m_X4rj => | |
forall a_X4sd. a_X4sd -> StateT s_X4rg m_X4rj a_X4sd) :: *))}] | |
K.$fMonadStateT_$creturn = | |
K.$fMonadStateT2 | |
`cast` (forall (s_X4rg :: <*>_N). | |
forall (m_X4rj :: <* -> *>_N). | |
<Monad m_X4rj>_R | |
-> forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rg>_N <m_X4rj>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rg>_N <m_X4rj>_N <a_X4sd>_N | |
:: ((forall s_X4rg (m_X4rj :: * -> *). | |
Monad m_X4rj => | |
forall a_X4sd. a_X4sd -> s_X4rg -> m_X4rj (a_X4sd, s_X4rg)) :: *) | |
~R# | |
((forall s_X4rg (m_X4rj :: * -> *). | |
Monad m_X4rj => | |
forall a_X4sd. a_X4sd -> StateT s_X4rg m_X4rj a_X4sd) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fMonadStateT3 | |
:: forall s_X4qu (m_X4qw :: * -> *). | |
Monad m_X4qw => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qu m_X4qw a_a4qF | |
-> S.StateT s_X4qu m_X4qw b_a4qG -> S.StateT s_X4qu m_X4qw b_a4qG | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4qu) | |
(@ (m_X4qw :: * -> *)) | |
($dMonad_X4qy [Occ=Once] :: Monad m_X4qw) | |
(@ a_a4qF) | |
(@ b_a4qG) | |
(eta_B2 [Occ=Once] :: S.StateT s_X4qu m_X4qw a_a4qF) | |
(eta1_B1 [Occ=Once] :: S.StateT s_X4qu m_X4qw b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4qw @ s_X4qu $dMonad_X4qy @ a_a4qF @ b_a4qG eta_B2 eta1_B1}] | |
K.$fMonadStateT3 = | |
\ (@ s_X4qu) | |
(@ (m_X4qw :: * -> *)) | |
($dMonad_X4qy :: Monad m_X4qw) | |
(@ a_a4qF) | |
(@ b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4qw @ s_X4qu $dMonad_X4qy @ a_a4qF @ b_a4qG | |
-- RHS size: {terms: 1, types: 0, coercions: 34} | |
K.$fMonadStateT_$c>> | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4h9 b_a4ha. | |
StateT s_a4pN m_a4pO a_a4h9 | |
-> StateT s_a4pN m_a4pO b_a4ha -> StateT s_a4pN m_a4pO b_a4ha | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT3 | |
`cast` (forall (s_X4qu :: <*>_N). | |
forall (m_X4qw :: <* -> *>_N). | |
<Monad m_X4qw>_R | |
-> forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <b_a4qG>_N | |
:: ((forall s_X4qu (m_X4qw :: * -> *). | |
Monad m_X4qw => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qu m_X4qw a_a4qF | |
-> S.StateT s_X4qu m_X4qw b_a4qG | |
-> S.StateT s_X4qu m_X4qw b_a4qG) :: *) | |
~R# | |
((forall s_X4qu (m_X4qw :: * -> *). | |
Monad m_X4qw => | |
forall a_a4qF b_a4qG. | |
StateT s_X4qu m_X4qw a_a4qF | |
-> StateT s_X4qu m_X4qw b_a4qG | |
-> StateT s_X4qu m_X4qw b_a4qG) :: *))}] | |
K.$fMonadStateT_$c>> = | |
K.$fMonadStateT3 | |
`cast` (forall (s_X4qu :: <*>_N). | |
forall (m_X4qw :: <* -> *>_N). | |
<Monad m_X4qw>_R | |
-> forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4qu>_N <m_X4qw>_N <b_a4qG>_N | |
:: ((forall s_X4qu (m_X4qw :: * -> *). | |
Monad m_X4qw => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qu m_X4qw a_a4qF | |
-> S.StateT s_X4qu m_X4qw b_a4qG | |
-> S.StateT s_X4qu m_X4qw b_a4qG) :: *) | |
~R# | |
((forall s_X4qu (m_X4qw :: * -> *). | |
Monad m_X4qw => | |
forall a_a4qF b_a4qG. | |
StateT s_X4qu m_X4qw a_a4qF | |
-> StateT s_X4qu m_X4qw b_a4qG | |
-> StateT s_X4qu m_X4qw b_a4qG) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fMonadStateT4 | |
:: forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
-> S.StateT s_X4qB m_X4qD b_a4pY | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,C(C1(U)),A,A,A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= (\ (@ s_X4qB) | |
(@ (m_X4qD :: * -> *)) | |
($dMonad_X4qF [Occ=OnceL] :: Monad m_X4qD) | |
(@ a_a4pX) | |
(@ b_a4pY) | |
(eta_B3 [Occ=OnceL] :: S.StateT s_X4qB m_X4qD a_a4pX) | |
(eta1_B2 [Occ=OnceL!] :: a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
(eta2_B1 [Occ=Once] :: s_X4qB) -> | |
(($ @ 'GHC.Types.PtrRepLifted | |
@ (s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) | |
@ (S.StateT s_X4qB m_X4qD b_a4pY) | |
((\ (tpl_a5pk [Occ=Once] :: s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) -> | |
tpl_a5pk) | |
`cast` (<s_X4qB -> m_X4qD (b_a4pY, s_X4qB)>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qB>_N <m_X4qD>_R <b_a4pY>_N) | |
:: (((s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) | |
-> s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) :: *) | |
~R# | |
(((s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) | |
-> S.StateT s_X4qB m_X4qD b_a4pY) :: *))) | |
(\ (s1_a5pl [Occ=Once] :: s_X4qB) -> | |
>>= | |
@ m_X4qD | |
$dMonad_X4qF | |
@ (a_a4pX, s_X4qB) | |
@ (b_a4pY, s_X4qB) | |
(S.runStateT @ s_X4qB @ m_X4qD @ a_a4pX eta_B3 s1_a5pl) | |
(\ (ds_a5pm [Occ=Once!] :: (a_a4pX, s_X4qB)) -> | |
case ds_a5pm | |
of _ [Occ=Dead] { (a1_a5pp [Occ=Once], s'_a5pq [Occ=Once]) -> | |
S.runStateT @ s_X4qB @ m_X4qD @ b_a4pY (eta1_B2 a1_a5pp) s'_a5pq | |
}))) | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qB>_N <m_X4qD>_R <b_a4pY>_N | |
:: (S.StateT s_X4qB m_X4qD b_a4pY :: *) | |
~R# | |
((s_X4qB -> m_X4qD (b_a4pY, s_X4qB)) :: *))) | |
eta2_B1) | |
`cast` (forall (s_X4qB :: <*>_N). | |
forall (m_X4qD :: <* -> *>_N). | |
<Monad m_X4qD>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
<S.StateT s_X4qB m_X4qD a_a4pX>_R | |
-> <a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qB>_N <m_X4qD>_R <b_a4pY>_N) | |
:: ((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
-> s_X4qB | |
-> m_X4qD (b_a4pY, s_X4qB)) :: *) | |
~R# | |
((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
-> S.StateT s_X4qB m_X4qD b_a4pY) :: *))}] | |
K.$fMonadStateT4 = | |
\ (@ s_X4qB) | |
(@ (m_X4qD :: * -> *)) | |
($dMonad_X4qF :: Monad m_X4qD) | |
(@ a_a4pX) | |
(@ b_a4pY) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>>= | |
@ m_X4qD @ s_X4qB $dMonad_X4qF @ a_a4pX @ b_a4pY | |
-- RHS size: {terms: 1, types: 0, coercions: 36} | |
K.$fMonadStateT_$c>>= | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4h6 b_a4h7. | |
StateT s_a4pN m_a4pO a_a4h6 | |
-> (a_a4h6 -> StateT s_a4pN m_a4pO b_a4h7) | |
-> StateT s_a4pN m_a4pO b_a4h7 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,C(C1(U)),A,A,A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT4 | |
`cast` (forall (s_X4qB :: <*>_N). | |
forall (m_X4qD :: <* -> *>_N). | |
<Monad m_X4qD>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <b_a4pY>_N | |
:: ((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
-> S.StateT s_X4qB m_X4qD b_a4pY) :: *) | |
~R# | |
((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> StateT s_X4qB m_X4qD b_a4pY) | |
-> StateT s_X4qB m_X4qD b_a4pY) :: *))}] | |
K.$fMonadStateT_$c>>= = | |
K.$fMonadStateT4 | |
`cast` (forall (s_X4qB :: <*>_N). | |
forall (m_X4qD :: <* -> *>_N). | |
<Monad m_X4qD>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4qB>_N <m_X4qD>_N <b_a4pY>_N | |
:: ((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qB m_X4qD b_a4pY) | |
-> S.StateT s_X4qB m_X4qD b_a4pY) :: *) | |
~R# | |
((forall s_X4qB (m_X4qD :: * -> *). | |
Monad m_X4qD => | |
forall a_a4pX b_a4pY. | |
StateT s_X4qB m_X4qD a_a4pX | |
-> (a_a4pX -> StateT s_X4qB m_X4qD b_a4pY) | |
-> StateT s_X4qB m_X4qD b_a4pY) :: *)) | |
-- RHS size: {terms: 16, types: 27, coercions: 0} | |
K.$fApplicativeStateT1 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_a4nc) | |
(@ (m_a4nd :: * -> *)) | |
($dMonad_a4ne :: Monad m_a4nd) | |
(@ a_a4pa) | |
(@ b_a4pb) | |
(eta_B3 [Occ=Once] :: S.StateT s_a4nc m_a4nd a_a4pa) | |
(eta1_B2 [Occ=Once] :: S.StateT s_a4nc m_a4nd b_a4pb) | |
(eta2_B1 [Occ=Once] :: s_a4nc) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT1 | |
@ m_a4nd | |
@ s_a4nc | |
(GHC.Base.$p1Applicative | |
@ m_a4nd (GHC.Base.$p1Monad @ m_a4nd $dMonad_a4ne)) | |
$dMonad_a4ne | |
@ a_a4pa | |
@ b_a4pb | |
eta_B3 | |
eta1_B2 | |
eta2_B1}] | |
K.$fApplicativeStateT1 = | |
\ (@ s_a4nc) | |
(@ (m_a4nd :: * -> *)) | |
($dMonad_a4ne :: Monad m_a4nd) | |
(@ a_a4pa) | |
(@ b_a4pb) | |
(eta_B3 :: S.StateT s_a4nc m_a4nd a_a4pa) | |
(eta1_B2 :: S.StateT s_a4nc m_a4nd b_a4pb) | |
(eta2_B1 :: s_a4nc) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT1 | |
@ m_a4nd | |
@ s_a4nc | |
(GHC.Base.$p1Applicative | |
@ m_a4nd (GHC.Base.$p1Monad @ m_a4nd $dMonad_a4ne)) | |
$dMonad_a4ne | |
@ a_a4pa | |
@ b_a4pb | |
eta_B3 | |
eta1_B2 | |
eta2_B1 | |
-- RHS size: {terms: 1, types: 0, coercions: 40} | |
K.$fApplicativeStateT_$c<* | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d9 b_a4da. | |
StateT s_a4nc m_a4nd a_a4d9 | |
-> StateT s_a4nc m_a4nd b_a4da -> StateT s_a4nc m_a4nd a_a4d9 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT1 | |
`cast` (forall (s_a4nc :: <*>_N). | |
forall (m_a4nd :: <* -> *>_N). | |
<Monad m_a4nd>_R | |
-> forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4nc>_N <m_a4nd>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
:: ((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc)) :: *) | |
~R# | |
((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
StateT s_a4nc m_a4nd a_a4pa | |
-> StateT s_a4nc m_a4nd b_a4pb | |
-> StateT s_a4nc m_a4nd a_a4pa) :: *))}] | |
K.$fApplicativeStateT_$c<* = | |
K.$fApplicativeStateT1 | |
`cast` (forall (s_a4nc :: <*>_N). | |
forall (m_a4nd :: <* -> *>_N). | |
<Monad m_a4nd>_R | |
-> forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4nc>_N <m_a4nd>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
:: ((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc)) :: *) | |
~R# | |
((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
StateT s_a4nc m_a4nd a_a4pa | |
-> StateT s_a4nc m_a4nd b_a4pb | |
-> StateT s_a4nc m_a4nd a_a4pa) :: *)) | |
-- RHS size: {terms: 16, types: 27, coercions: 0} | |
K.$fApplicativeStateT2 | |
:: forall s_X4oe (m_X4og :: * -> *). | |
Monad m_X4og => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4oe m_X4og a_a4ow | |
-> S.StateT s_X4oe m_X4og b_a4ox | |
-> s_X4oe | |
-> m_X4og (b_a4ox, s_X4oe) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4oe) | |
(@ (m_X4og :: * -> *)) | |
($dMonad_X4oi :: Monad m_X4og) | |
(@ a_a4ow) | |
(@ b_a4ox) | |
(eta_X16 [Occ=Once] :: S.StateT s_X4oe m_X4og a_a4ow) | |
(eta1_X2a [Occ=Once] :: S.StateT s_X4oe m_X4og b_a4ox) | |
(eta2_B1 [Occ=Once] :: s_X4oe) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT3 | |
@ m_X4og | |
@ s_X4oe | |
(GHC.Base.$p1Applicative | |
@ m_X4og (GHC.Base.$p1Monad @ m_X4og $dMonad_X4oi)) | |
$dMonad_X4oi | |
@ a_a4ow | |
@ b_a4ox | |
eta_X16 | |
eta1_X2a | |
eta2_B1}] | |
K.$fApplicativeStateT2 = | |
\ (@ s_X4oe) | |
(@ (m_X4og :: * -> *)) | |
($dMonad_X4oi :: Monad m_X4og) | |
(@ a_a4ow) | |
(@ b_a4ox) | |
(eta_X16 :: S.StateT s_X4oe m_X4og a_a4ow) | |
(eta1_X2a :: S.StateT s_X4oe m_X4og b_a4ox) | |
(eta2_B1 :: s_X4oe) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT3 | |
@ m_X4og | |
@ s_X4oe | |
(GHC.Base.$p1Applicative | |
@ m_X4og (GHC.Base.$p1Monad @ m_X4og $dMonad_X4oi)) | |
$dMonad_X4oi | |
@ a_a4ow | |
@ b_a4ox | |
eta_X16 | |
eta1_X2a | |
eta2_B1 | |
-- RHS size: {terms: 1, types: 0, coercions: 40} | |
K.$fApplicativeStateT_$c*> | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d6 b_a4d7. | |
StateT s_a4nc m_a4nd a_a4d6 | |
-> StateT s_a4nc m_a4nd b_a4d7 -> StateT s_a4nc m_a4nd b_a4d7 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT2 | |
`cast` (forall (s_X4oe :: <*>_N). | |
forall (m_X4og :: <* -> *>_N). | |
<Monad m_X4og>_R | |
-> forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oe>_N <m_X4og>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <b_a4ox>_N | |
:: ((forall s_X4oe (m_X4og :: * -> *). | |
Monad m_X4og => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4oe m_X4og a_a4ow | |
-> S.StateT s_X4oe m_X4og b_a4ox | |
-> s_X4oe | |
-> m_X4og (b_a4ox, s_X4oe)) :: *) | |
~R# | |
((forall s_X4oe (m_X4og :: * -> *). | |
Monad m_X4og => | |
forall a_a4ow b_a4ox. | |
StateT s_X4oe m_X4og a_a4ow | |
-> StateT s_X4oe m_X4og b_a4ox | |
-> StateT s_X4oe m_X4og b_a4ox) :: *))}] | |
K.$fApplicativeStateT_$c*> = | |
K.$fApplicativeStateT2 | |
`cast` (forall (s_X4oe :: <*>_N). | |
forall (m_X4og :: <* -> *>_N). | |
<Monad m_X4og>_R | |
-> forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oe>_N <m_X4og>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4oe>_N <m_X4og>_N <b_a4ox>_N | |
:: ((forall s_X4oe (m_X4og :: * -> *). | |
Monad m_X4og => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4oe m_X4og a_a4ow | |
-> S.StateT s_X4oe m_X4og b_a4ox | |
-> s_X4oe | |
-> m_X4og (b_a4ox, s_X4oe)) :: *) | |
~R# | |
((forall s_X4oe (m_X4og :: * -> *). | |
Monad m_X4og => | |
forall a_a4ow b_a4ox. | |
StateT s_X4oe m_X4og a_a4ow | |
-> StateT s_X4oe m_X4og b_a4ox | |
-> StateT s_X4oe m_X4og b_a4ox) :: *)) | |
-- RHS size: {terms: 30, types: 62, coercions: 9} | |
K.$fApplicativeStateT3 | |
:: forall s_X4ol (m_X4on :: * -> *). | |
Monad m_X4on => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4ol m_X4on a_a4nO | |
-> s_X4ol | |
-> m_X4on (b_a4nP, s_X4ol) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=IF_ARGS [90 60 60 0] 220 0}] | |
K.$fApplicativeStateT3 = | |
\ (@ s_X4ol) | |
(@ (m_X4on :: * -> *)) | |
($dMonad_X4op :: Monad m_X4on) | |
(@ a_a4nO) | |
(@ b_a4nP) | |
(eta_X1g :: S.StateT s_X4ol m_X4on (a_a4nO -> b_a4nP)) | |
(eta1_X2u :: S.StateT s_X4ol m_X4on a_a4nO) | |
(eta2_B1 :: s_X4ol) -> | |
>>= | |
@ m_X4on | |
$dMonad_X4op | |
@ (a_a4nO -> b_a4nP, s_X4ol) | |
@ (b_a4nP, s_X4ol) | |
((eta_X1g | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ol>_N <m_X4on>_R <a_a4nO -> b_a4nP>_N | |
:: (S.StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) :: *) | |
~R# | |
((s_X4ol -> m_X4on (a_a4nO -> b_a4nP, s_X4ol)) :: *))) | |
eta2_B1) | |
(\ (ds2_a5pX :: (a_a4nO -> b_a4nP, s_X4ol)) -> | |
case ds2_a5pX of _ [Occ=Dead] { (f_a5q0, s'_a5q1) -> | |
>>= | |
@ m_X4on | |
$dMonad_X4op | |
@ (a_a4nO, s_X4ol) | |
@ (b_a4nP, s_X4ol) | |
((eta1_X2u | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ol>_N <m_X4on>_R <a_a4nO>_N | |
:: (S.StateT s_X4ol m_X4on a_a4nO :: *) | |
~R# | |
((s_X4ol -> m_X4on (a_a4nO, s_X4ol)) :: *))) | |
s'_a5q1) | |
(\ (ds3_a5q3 :: (a_a4nO, s_X4ol)) -> | |
case ds3_a5q3 of _ [Occ=Dead] { (x_a5q6, s''_a5q7) -> | |
return | |
@ m_X4on $dMonad_X4op @ (b_a4nP, s_X4ol) (f_a5q0 x_a5q6, s''_a5q7) | |
}) | |
}) | |
-- RHS size: {terms: 1, types: 0, coercions: 41} | |
K.$fApplicativeStateT_$c<*> | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d3 b_a4d4. | |
StateT s_a4nc m_a4nd (a_a4d3 -> b_a4d4) | |
-> StateT s_a4nc m_a4nd a_a4d3 -> StateT s_a4nc m_a4nd b_a4d4 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT3 | |
`cast` (forall (s_X4ol :: <*>_N). | |
forall (m_X4on :: <* -> *>_N). | |
<Monad m_X4on>_R | |
-> forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ol>_N <m_X4on>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <b_a4nP>_N | |
:: ((forall s_X4ol (m_X4on :: * -> *). | |
Monad m_X4on => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4ol m_X4on a_a4nO | |
-> s_X4ol | |
-> m_X4on (b_a4nP, s_X4ol)) :: *) | |
~R# | |
((forall s_X4ol (m_X4on :: * -> *). | |
Monad m_X4on => | |
forall a_a4nO b_a4nP. | |
StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) | |
-> StateT s_X4ol m_X4on a_a4nO | |
-> StateT s_X4ol m_X4on b_a4nP) :: *))}] | |
K.$fApplicativeStateT_$c<*> = | |
K.$fApplicativeStateT3 | |
`cast` (forall (s_X4ol :: <*>_N). | |
forall (m_X4on :: <* -> *>_N). | |
<Monad m_X4on>_R | |
-> forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ol>_N <m_X4on>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4ol>_N <m_X4on>_N <b_a4nP>_N | |
:: ((forall s_X4ol (m_X4on :: * -> *). | |
Monad m_X4on => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4ol m_X4on a_a4nO | |
-> s_X4ol | |
-> m_X4on (b_a4nP, s_X4ol)) :: *) | |
~R# | |
((forall s_X4ol (m_X4on :: * -> *). | |
Monad m_X4on => | |
forall a_a4nO b_a4nP. | |
StateT s_X4ol m_X4on (a_a4nO -> b_a4nP) | |
-> StateT s_X4ol m_X4on a_a4nO | |
-> StateT s_X4ol m_X4on b_a4nP) :: *)) | |
-- RHS size: {terms: 11, types: 18, coercions: 0} | |
K.$fApplicativeStateT4 | |
:: forall s_X4os (m_X4ou :: * -> *). | |
Monad m_X4ou => | |
forall a_a4nm. a_a4nm -> s_X4os -> m_X4ou (a_a4nm, s_X4os) | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LLLC(S)L),1*U(A,A,A,1*C1(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4os) | |
(@ (m_X4ou :: * -> *)) | |
($dMonad_X4ow [Occ=Once] :: Monad m_X4ou) | |
(@ a_a4nm) | |
(eta_X1o [Occ=Once] :: a_a4nm) | |
(eta1_B1 [Occ=Once] :: s_X4os) -> | |
return | |
@ m_X4ou $dMonad_X4ow @ (a_a4nm, s_X4os) (eta_X1o, eta1_B1)}] | |
K.$fApplicativeStateT4 = | |
\ (@ s_X4os) | |
(@ (m_X4ou :: * -> *)) | |
($dMonad_X4ow :: Monad m_X4ou) | |
(@ a_a4nm) | |
(eta_X1o :: a_a4nm) | |
(eta1_B1 :: s_X4os) -> | |
return @ m_X4ou $dMonad_X4ow @ (a_a4nm, s_X4os) (eta_X1o, eta1_B1) | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fApplicativeStateT_$cpure | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d1. a_a4d1 -> StateT s_a4nc m_a4nd a_a4d1 | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LLLC(S)L),1*U(A,A,A,1*C1(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT4 | |
`cast` (forall (s_X4os :: <*>_N). | |
forall (m_X4ou :: <* -> *>_N). | |
<Monad m_X4ou>_R | |
-> forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4os>_N <m_X4ou>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4os>_N <m_X4ou>_N <a_a4nm>_N | |
:: ((forall s_X4os (m_X4ou :: * -> *). | |
Monad m_X4ou => | |
forall a_a4nm. a_a4nm -> s_X4os -> m_X4ou (a_a4nm, s_X4os)) :: *) | |
~R# | |
((forall s_X4os (m_X4ou :: * -> *). | |
Monad m_X4ou => | |
forall a_a4nm. a_a4nm -> StateT s_X4os m_X4ou a_a4nm) :: *))}] | |
K.$fApplicativeStateT_$cpure = | |
K.$fApplicativeStateT4 | |
`cast` (forall (s_X4os :: <*>_N). | |
forall (m_X4ou :: <* -> *>_N). | |
<Monad m_X4ou>_R | |
-> forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4os>_N <m_X4ou>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4os>_N <m_X4ou>_N <a_a4nm>_N | |
:: ((forall s_X4os (m_X4ou :: * -> *). | |
Monad m_X4ou => | |
forall a_a4nm. a_a4nm -> s_X4os -> m_X4ou (a_a4nm, s_X4os)) :: *) | |
~R# | |
((forall s_X4os (m_X4ou :: * -> *). | |
Monad m_X4ou => | |
forall a_a4nm. a_a4nm -> StateT s_X4os m_X4ou a_a4nm) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fFunctorStateT1 | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a4mz b_a4mA. | |
a_a4mz | |
-> S.StateT s_a4lL m_a4lM b_a4mA | |
-> s_a4lL | |
-> m_a4lM (a_a4mz, s_a4lL) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(C1(U)),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_a4lL) | |
(@ (m_a4lM :: * -> *)) | |
($dFunctor_a4lN [Occ=Once] :: Functor m_a4lM) | |
(@ a_a4mz) | |
(@ b_a4mA) | |
(eta_B3 [Occ=Once] :: a_a4mz) | |
(eta1_B2 [Occ=Once] :: S.StateT s_a4lL m_a4lM b_a4mA) | |
(eta2_B1 [Occ=Once] :: s_a4lL) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_a4lM | |
@ s_a4lL | |
$dFunctor_a4lN | |
@ a_a4mz | |
@ b_a4mA | |
eta_B3 | |
eta1_B2 | |
eta2_B1}] | |
K.$fFunctorStateT1 = | |
\ (@ s_a4lL) | |
(@ (m_a4lM :: * -> *)) | |
($dFunctor_a4lN :: Functor m_a4lM) | |
(@ a_a4mz) | |
(@ b_a4mA) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_a4lM @ s_a4lL $dFunctor_a4lN @ a_a4mz @ b_a4mA | |
-- RHS size: {terms: 1, types: 0, coercions: 36} | |
K.$fFunctorStateT_$c<$ | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a42e b_a42f. | |
a_a42e | |
-> StateT s_a4lL m_a4lM b_a42f -> StateT s_a4lL m_a4lM a_a42e | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(C1(U)),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fFunctorStateT1 | |
`cast` (forall (s_X4n1 :: <*>_N). | |
forall (m_X4n3 :: <* -> *>_N). | |
<Functor m_X4n3>_R | |
-> forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4n1>_N <m_X4n3>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <a_X4nR>_N | |
:: ((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4n1 m_X4n3 b_X4nT | |
-> s_X4n1 | |
-> m_X4n3 (a_X4nR, s_X4n1)) :: *) | |
~R# | |
((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4n1 m_X4n3 b_X4nT | |
-> StateT s_X4n1 m_X4n3 a_X4nR) :: *))}] | |
K.$fFunctorStateT_$c<$ = | |
K.$fFunctorStateT1 | |
`cast` (forall (s_X4n1 :: <*>_N). | |
forall (m_X4n3 :: <* -> *>_N). | |
<Functor m_X4n3>_R | |
-> forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4n1>_N <m_X4n3>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <a_X4nR>_N | |
:: ((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4n1 m_X4n3 b_X4nT | |
-> s_X4n1 | |
-> m_X4n3 (a_X4nR, s_X4n1)) :: *) | |
~R# | |
((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4n1 m_X4n3 b_X4nT | |
-> StateT s_X4n1 m_X4n3 a_X4nR) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fFunctorStateT2 | |
:: forall s_X4ne (m_X4ng :: * -> *). | |
Functor m_X4ng => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4ne m_X4ng a_a4lR -> S.StateT s_X4ne m_X4ng b_a4lS | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4ne) | |
(@ (m_X4ng :: * -> *)) | |
($dFunctor_X4ni [Occ=Once] :: Functor m_X4ng) | |
(@ a_a4lR) | |
(@ b_a4lS) | |
(eta_B2 [Occ=Once] :: a_a4lR -> b_a4lS) | |
(eta1_B1 [Occ=Once] :: S.StateT s_X4ne m_X4ng a_a4lR) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4ng @ s_X4ne $dFunctor_X4ni @ a_a4lR @ b_a4lS eta_B2 eta1_B1}] | |
K.$fFunctorStateT2 = | |
\ (@ s_X4ne) | |
(@ (m_X4ng :: * -> *)) | |
($dFunctor_X4ni :: Functor m_X4ng) | |
(@ a_a4lR) | |
(@ b_a4lS) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4ng @ s_X4ne $dFunctor_X4ni @ a_a4lR @ b_a4lS | |
-- RHS size: {terms: 1, types: 0, coercions: 31} | |
K.$fFunctorStateT_$cfmap | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a42b b_a42c. | |
(a_a42b -> b_a42c) | |
-> StateT s_a4lL m_a4lM a_a42b -> StateT s_a4lL m_a4lM b_a42c | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fFunctorStateT2 | |
`cast` (forall (s_X4ne :: <*>_N). | |
forall (m_X4ng :: <* -> *>_N). | |
<Functor m_X4ng>_R | |
-> forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4ne>_N <m_X4ng>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4ne>_N <m_X4ng>_N <b_a4lS>_N | |
:: ((forall s_X4ne (m_X4ng :: * -> *). | |
Functor m_X4ng => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4ne m_X4ng a_a4lR | |
-> S.StateT s_X4ne m_X4ng b_a4lS) :: *) | |
~R# | |
((forall s_X4ne (m_X4ng :: * -> *). | |
Functor m_X4ng => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4ne m_X4ng a_a4lR | |
-> StateT s_X4ne m_X4ng b_a4lS) :: *))}] | |
K.$fFunctorStateT_$cfmap = | |
K.$fFunctorStateT2 | |
`cast` (forall (s_X4ne :: <*>_N). | |
forall (m_X4ng :: <* -> *>_N). | |
<Functor m_X4ng>_R | |
-> forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4ne>_N <m_X4ng>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4ne>_N <m_X4ng>_N <b_a4lS>_N | |
:: ((forall s_X4ne (m_X4ng :: * -> *). | |
Functor m_X4ng => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4ne m_X4ng a_a4lR | |
-> S.StateT s_X4ne m_X4ng b_a4lS) :: *) | |
~R# | |
((forall s_X4ne (m_X4ng :: * -> *). | |
Functor m_X4ng => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4ne m_X4ng a_a4lR | |
-> StateT s_X4ne m_X4ng b_a4lS) :: *)) | |
-- RHS size: {terms: 12, types: 27, coercions: 45} | |
K.$fFunctorStateT [InlPrag=[ALWAYS] CONLIKE] | |
:: forall s_a4lE (m_a4lF :: * -> *). | |
Functor m_a4lF => | |
Functor (StateT s_a4lE m_a4lF) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>m, | |
Unf=DFun: \ (@ s_X4nl[ssk]) | |
(@ (m_X4nn[ssk] :: * -> *)) | |
($dFunctor_X4np :: Functor m_X4nn[ssk]) -> | |
GHC.Base.C:Functor TYPE: StateT s_X4nl[ssk] m_X4nn[ssk] | |
K.$fFunctorStateT_$cfmap @ s_X4nl[ssk] @ m_X4nn[ssk] $dFunctor_X4np | |
K.$fFunctorStateT_$c<$ @ s_X4nl[ssk] @ m_X4nn[ssk] $dFunctor_X4np] | |
K.$fFunctorStateT = | |
\ (@ s_X4nl) | |
(@ (m_X4nn :: * -> *)) | |
($dFunctor_X4np :: Functor m_X4nn) -> | |
GHC.Base.C:Functor | |
@ (StateT s_X4nl m_X4nn) | |
((\ (@ a_a4lR) (@ b_a4lS) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4nn @ s_X4nl $dFunctor_X4np @ a_a4lR @ b_a4lS) | |
`cast` (forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4nl>_N <m_X4nn>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4nl>_N <m_X4nn>_N <b_a4lS>_N | |
:: ((forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4nl m_X4nn a_a4lR | |
-> S.StateT s_X4nl m_X4nn b_a4lS) :: *) | |
~R# | |
((forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4nl m_X4nn a_a4lR | |
-> StateT s_X4nl m_X4nn b_a4lS) :: *))) | |
((\ (@ a_X4nV) (@ b_X4nX) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_X4nn @ s_X4nl $dFunctor_X4np @ a_X4nV @ b_X4nX) | |
`cast` (forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4nl>_N <m_X4nn>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4nl>_N <m_X4nn>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4nl>_N <m_X4nn>_N <a_X4nR>_N | |
:: ((forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4nl m_X4nn b_X4nT | |
-> s_X4nl | |
-> m_X4nn (a_X4nR, s_X4nl)) :: *) | |
~R# | |
((forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4nl m_X4nn b_X4nT | |
-> StateT s_X4nl m_X4nn a_X4nR) :: *))) | |
-- RHS size: {terms: 7, types: 12, coercions: 0} | |
K.$fApplicativeStateT_$cp1Applicative | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
Functor (StateT s_a4nc m_a4nd) | |
[GblId, | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,1*U(1*U(1*U(C(U),A),A,A,A,A),A,A,A,A)>m, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4oN) | |
(@ (m_X4oP :: * -> *)) | |
($dMonad_X4oR [Occ=Once] :: Monad m_X4oP) -> | |
K.$fFunctorStateT | |
@ s_X4oN | |
@ m_X4oP | |
(GHC.Base.$p1Applicative | |
@ m_X4oP (GHC.Base.$p1Monad @ m_X4oP $dMonad_X4oR))}] | |
K.$fApplicativeStateT_$cp1Applicative = | |
\ (@ s_X4oN) | |
(@ (m_X4oP :: * -> *)) | |
($dMonad_X4oR :: Monad m_X4oP) -> | |
K.$fFunctorStateT | |
@ s_X4oN | |
@ m_X4oP | |
(GHC.Base.$p1Applicative | |
@ m_X4oP (GHC.Base.$p1Monad @ m_X4oP $dMonad_X4oR)) | |
-- RHS size: {terms: 20, types: 29, coercions: 104} | |
K.$fApplicativeStateT [InlPrag=[ALWAYS] CONLIKE] | |
:: forall s_a4lG (m_a4lH :: * -> *). | |
Monad m_a4lH => | |
Applicative (StateT s_a4lG m_a4lH) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),A)>m, | |
Unf=DFun: \ (@ s_X4oO[ssk]) | |
(@ (m_X4oQ[ssk] :: * -> *)) | |
($dMonad_X4oS :: Monad m_X4oQ[ssk]) -> | |
GHC.Base.C:Applicative TYPE: StateT s_X4oO[ssk] m_X4oQ[ssk] | |
K.$fApplicativeStateT_$cp1Applicative | |
@ s_X4oO[ssk] @ m_X4oQ[ssk] $dMonad_X4oS | |
K.$fApplicativeStateT_$cpure | |
@ s_X4oO[ssk] @ m_X4oQ[ssk] $dMonad_X4oS | |
K.$fApplicativeStateT_$c<*> | |
@ s_X4oO[ssk] @ m_X4oQ[ssk] $dMonad_X4oS | |
K.$fApplicativeStateT_$c*> @ s_X4oO[ssk] @ m_X4oQ[ssk] $dMonad_X4oS | |
K.$fApplicativeStateT_$c<* | |
@ s_X4oO[ssk] @ m_X4oQ[ssk] $dMonad_X4oS] | |
K.$fApplicativeStateT = | |
\ (@ s_X4oO) | |
(@ (m_X4oQ :: * -> *)) | |
($dMonad_X4oS :: Monad m_X4oQ) -> | |
GHC.Base.C:Applicative | |
@ (StateT s_X4oO m_X4oQ) | |
(K.$fApplicativeStateT_$cp1Applicative | |
@ s_X4oO @ m_X4oQ $dMonad_X4oS) | |
((\ (@ a_a4nm) (eta_X1o :: a_a4nm) (eta1_B1 :: s_X4oO) -> | |
return @ m_X4oQ $dMonad_X4oS @ (a_a4nm, s_X4oO) (eta_X1o, eta1_B1)) | |
`cast` (forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oO>_N <m_X4oQ>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4nm>_N | |
:: ((forall a_a4nm. | |
a_a4nm -> s_X4oO -> m_X4oQ (a_a4nm, s_X4oO)) :: *) | |
~R# | |
((forall a_a4nm. a_a4nm -> StateT s_X4oO m_X4oQ a_a4nm) :: *))) | |
((K.$fApplicativeStateT3 @ s_X4oO @ m_X4oQ $dMonad_X4oS) | |
`cast` (forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oO>_N <m_X4oQ>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <b_a4nP>_N | |
:: ((forall a_a4nO b_a4nP. | |
S.StateT s_X4oO m_X4oQ (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4oO m_X4oQ a_a4nO | |
-> s_X4oO | |
-> m_X4oQ (b_a4nP, s_X4oO)) :: *) | |
~R# | |
((forall a_a4nO b_a4nP. | |
StateT s_X4oO m_X4oQ (a_a4nO -> b_a4nP) | |
-> StateT s_X4oO m_X4oQ a_a4nO | |
-> StateT s_X4oO m_X4oQ b_a4nP) :: *))) | |
((K.$fApplicativeStateT2 @ s_X4oO @ m_X4oQ $dMonad_X4oS) | |
`cast` (forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oO>_N <m_X4oQ>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <b_a4ox>_N | |
:: ((forall a_a4ow b_a4ox. | |
S.StateT s_X4oO m_X4oQ a_a4ow | |
-> S.StateT s_X4oO m_X4oQ b_a4ox | |
-> s_X4oO | |
-> m_X4oQ (b_a4ox, s_X4oO)) :: *) | |
~R# | |
((forall a_a4ow b_a4ox. | |
StateT s_X4oO m_X4oQ a_a4ow | |
-> StateT s_X4oO m_X4oQ b_a4ox | |
-> StateT s_X4oO m_X4oQ b_a4ox) :: *))) | |
((K.$fApplicativeStateT1 @ s_X4oO @ m_X4oQ $dMonad_X4oS) | |
`cast` (forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oO>_N <m_X4oQ>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_X4oO>_N <m_X4oQ>_N <a_a4pa>_N | |
:: ((forall a_a4pa b_a4pb. | |
S.StateT s_X4oO m_X4oQ a_a4pa | |
-> S.StateT s_X4oO m_X4oQ b_a4pb | |
-> s_X4oO | |
-> m_X4oQ (a_a4pa, s_X4oO)) :: *) | |
~R# | |
((forall a_a4pa b_a4pb. | |
StateT s_X4oO m_X4oQ a_a4pa | |
-> StateT s_X4oO m_X4oQ b_a4pb | |
-> StateT s_X4oO m_X4oQ a_a4pa) :: *))) | |
-- RHS size: {terms: 20, types: 39, coercions: 75} | |
K.$fMonadStateT [InlPrag=[ALWAYS] CONLIKE] | |
:: forall s_a4lI (m_a4lJ :: * -> *). | |
Monad m_a4lJ => | |
Monad (StateT s_a4lI m_a4lJ) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>m, | |
Unf=DFun: \ (@ s_X4rq[ssk]) | |
(@ (m_X4rs[ssk] :: * -> *)) | |
($dMonad_X4ru :: Monad m_X4rs[ssk]) -> | |
GHC.Base.C:Monad TYPE: StateT s_X4rq[ssk] m_X4rs[ssk] | |
K.$fApplicativeStateT @ s_X4rq[ssk] @ m_X4rs[ssk] $dMonad_X4ru | |
K.$fMonadStateT_$c>>= @ s_X4rq[ssk] @ m_X4rs[ssk] $dMonad_X4ru | |
K.$fMonadStateT_$c>> @ s_X4rq[ssk] @ m_X4rs[ssk] $dMonad_X4ru | |
K.$fMonadStateT_$creturn @ s_X4rq[ssk] @ m_X4rs[ssk] $dMonad_X4ru | |
K.$fMonadStateT_$cfail @ s_X4rq[ssk] @ m_X4rs[ssk] $dMonad_X4ru] | |
K.$fMonadStateT = | |
\ (@ s_X4rq) | |
(@ (m_X4rs :: * -> *)) | |
($dMonad_X4ru :: Monad m_X4rs) -> | |
GHC.Base.C:Monad | |
@ (StateT s_X4rq m_X4rs) | |
(K.$fApplicativeStateT @ s_X4rq @ m_X4rs $dMonad_X4ru) | |
((\ (@ a_a4pX) (@ b_a4pY) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>>= | |
@ m_X4rs @ s_X4rq $dMonad_X4ru @ a_a4pX @ b_a4pY) | |
`cast` (forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <b_a4pY>_N | |
:: ((forall a_a4pX b_a4pY. | |
S.StateT s_X4rq m_X4rs a_a4pX | |
-> (a_a4pX -> S.StateT s_X4rq m_X4rs b_a4pY) | |
-> S.StateT s_X4rq m_X4rs b_a4pY) :: *) | |
~R# | |
((forall a_a4pX b_a4pY. | |
StateT s_X4rq m_X4rs a_a4pX | |
-> (a_a4pX -> StateT s_X4rq m_X4rs b_a4pY) | |
-> StateT s_X4rq m_X4rs b_a4pY) :: *))) | |
((\ (@ a_a4qF) (@ b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4rs @ s_X4rq $dMonad_X4ru @ a_a4qF @ b_a4qG) | |
`cast` (forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <b_a4qG>_N | |
:: ((forall a_a4qF b_a4qG. | |
S.StateT s_X4rq m_X4rs a_a4qF | |
-> S.StateT s_X4rq m_X4rs b_a4qG | |
-> S.StateT s_X4rq m_X4rs b_a4qG) :: *) | |
~R# | |
((forall a_a4qF b_a4qG. | |
StateT s_X4rq m_X4rs a_a4qF | |
-> StateT s_X4rq m_X4rs b_a4qG | |
-> StateT s_X4rq m_X4rs b_a4qG) :: *))) | |
((\ (@ a_X4sI) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4rs @ s_X4rq $dMonad_X4ru @ a_X4sI) | |
`cast` (forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rq>_N <m_X4rs>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <a_X4sd>_N | |
:: ((forall a_X4sd. | |
a_X4sd -> s_X4rq -> m_X4rs (a_X4sd, s_X4rq)) :: *) | |
~R# | |
((forall a_X4sd. a_X4sd -> StateT s_X4rq m_X4rs a_X4sd) :: *))) | |
((\ (@ a_a4rL) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_X4rs @ s_X4rq $dMonad_X4ru @ a_a4rL) | |
`cast` (forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_X4rq>_N <m_X4rs>_N <a_a4rL>_N | |
:: ((forall a_a4rL. [Char] -> S.StateT s_X4rq m_X4rs a_a4rL) :: *) | |
~R# | |
((forall a_a4rL. [Char] -> StateT s_X4rq m_X4rs a_a4rL) :: *))) | |
-- RHS size: {terms: 6, types: 11, coercions: 0} | |
K.$fPrimMonadStateT_$cp1PrimMonad | |
:: forall (m_a4t5 :: * -> *) s_a4t6. | |
PrimMonad m_a4t5 => | |
Monad (StateT s_a4t6 m_a4t5) | |
[GblId, | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,1*U(1*U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U)),A)>m, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 [Occ=Once] :: PrimMonad m_a4t5) -> | |
K.$fMonadStateT | |
@ s_a4t6 | |
@ m_a4t5 | |
(Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7)}] | |
K.$fPrimMonadStateT_$cp1PrimMonad = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) -> | |
K.$fMonadStateT | |
@ s_a4t6 | |
@ m_a4t5 | |
(Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7) | |
-- RHS size: {terms: 8, types: 15, coercions: 0} | |
K.$fPrimMonadStateT [InlPrag=[ALWAYS] CONLIKE] | |
:: forall (m_a41w :: * -> *) s_a41x. | |
PrimMonad m_a41w => | |
PrimMonad (StateT s_a41x m_a41w) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(U(U,U),U,U,U,U),U,U,U,U),C(U))>m, | |
Unf=DFun: \ (@ (m_a4t5[ssk] :: * -> *)) | |
(@ s_a4t6[ssk]) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5[ssk]) -> | |
Control.Monad.Primitive.C:PrimMonad TYPE: StateT | |
s_a4t6[ssk] m_a4t5[ssk] | |
K.$fPrimMonadStateT_$cp1PrimMonad | |
@ m_a4t5[ssk] @ s_a4t6[ssk] $dPrimMonad_a4t7 | |
K.$fPrimMonadStateT_$cprimitive | |
@ m_a4t5[ssk] @ s_a4t6[ssk] $dPrimMonad_a4t7] | |
K.$fPrimMonadStateT = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) -> | |
Control.Monad.Primitive.C:PrimMonad | |
@ (StateT s_a4t6 m_a4t5) | |
(K.$fPrimMonadStateT_$cp1PrimMonad | |
@ m_a4t5 @ s_a4t6 $dPrimMonad_a4t7) | |
(K.$fPrimMonadStateT_$cprimitive | |
@ m_a4t5 @ s_a4t6 $dPrimMonad_a4t7) | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$trModule2 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] | |
K.$trModule2 = GHC.Types.TrNameS "main"# | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$trModule1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] | |
K.$trModule1 = GHC.Types.TrNameS "K"# | |
-- RHS size: {terms: 3, types: 0, coercions: 0} | |
K.$trModule :: GHC.Types.Module | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] | |
K.$trModule = GHC.Types.Module K.$trModule2 K.$trModule1 | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$tc'StateT1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] | |
K.$tc'StateT1 = GHC.Types.TrNameS "'StateT"# | |
-- RHS size: {terms: 5, types: 0, coercions: 0} | |
K.$tc'StateT :: GHC.Types.TyCon | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] | |
K.$tc'StateT = | |
GHC.Types.TyCon | |
8261700209586878308## | |
13506212086962882202## | |
K.$trModule | |
K.$tc'StateT1 | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$tcStateT1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] | |
K.$tcStateT1 = GHC.Types.TrNameS "StateT"# | |
-- RHS size: {terms: 5, types: 0, coercions: 0} | |
K.$tcStateT :: GHC.Types.TyCon | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] | |
K.$tcStateT = | |
GHC.Types.TyCon | |
5890985703738789954## | |
14127540780153994336## | |
K.$trModule | |
K.$tcStateT1 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
==================== Tidy Core ==================== | |
2018-02-16 13:58:07.086739739 UTC | |
Result size of Tidy Core = {terms: 277, types: 955, coercions: 640} | |
-- RHS size: {terms: 1, types: 0, coercions: 22} | |
K.$fMonadTransStateT_$clift | |
:: forall s_a4sc (m_a4id :: * -> *) a_a4ie. | |
Monad m_a4id => | |
m_a4id a_a4ie -> StateT s_a4sc m_a4id a_a4ie | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,1*C1(C1(U)),A,C(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> StateT s_a4sc m_a4sg a_a4sh) :: *))}] | |
K.$fMonadTransStateT_$clift = | |
Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> StateT s_a4sc m_a4sg a_a4sh) :: *)) | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fMonadTransStateT :: forall s_a4lK. MonadTrans (StateT s_a4lK) | |
[GblId[DFunId(nt)], | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,1*C1(C1(U)),A,C(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True) | |
Tmpl= K.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
Sym | |
(Control.Monad.Trans.Class.N:MonadTrans[0] <StateT s_a4sc[ssk]>_N) | |
:: ((forall s_a4sc[ssk] (m_a4id :: * -> *) a_a4ie. | |
Monad m_a4id => | |
m_a4id a_a4ie -> StateT s_a4sc[ssk] m_a4id a_a4ie) :: *) | |
~R# | |
((forall s_a4sc[ssk]. | |
MonadTrans (StateT s_a4sc[ssk])) :: Constraint))}] | |
K.$fMonadTransStateT = | |
Control.Monad.Trans.State.Strict.$fMonadTransStateT_$clift | |
`cast` (forall (s_a4sc :: <*>_N). | |
(forall (m_a4sg :: <* -> *>_N). | |
forall (a_a4sh :: <*>_N). | |
<Monad m_a4sg>_R | |
-> <m_a4sg a_a4sh>_R | |
-> Sym K.N:StateT[0] <s_a4sc>_N <m_a4sg>_N <a_a4sh>_N) | |
; Sym (Control.Monad.Trans.Class.N:MonadTrans[0] <StateT s_a4sc>_N) | |
:: ((forall s_a4sc (m_a4sg :: * -> *) a_a4sh. | |
Monad m_a4sg => | |
m_a4sg a_a4sh -> S.StateT s_a4sc m_a4sg a_a4sh) :: *) | |
~R# | |
((forall s_a4sc. MonadTrans (StateT s_a4sc)) :: Constraint)) | |
-- RHS size: {terms: 22, types: 44, coercions: 24} | |
K.$fPrimMonadStateT1 | |
:: forall (m_a4t5 :: * -> *) s_a4t6. | |
PrimMonad m_a4t5 => | |
forall a_a4tf. | |
(GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) | |
-> StateT s_a4t6 m_a4t5 a_a4tf | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(1*U,1*C1(U))><L,U>, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 170 60}] | |
K.$fPrimMonadStateT1 = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) | |
(@ a_a4tf) | |
(eta_B1 | |
:: GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) -> | |
let { | |
$dMonad_s5rA [Dmd=<L,U(U,C(C(U)),U,C(U),U)>] :: Monad m_a4t5 | |
[LclId, Str=DmdType] | |
$dMonad_s5rA = | |
Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7 } in | |
let { | |
m1_a5rH :: m_a4t5 a_a4tf | |
[LclId, Str=DmdType] | |
m1_a5rH = | |
primitive | |
@ m_a4t5 | |
$dPrimMonad_a4t7 | |
@ a_a4tf | |
(eta_B1 | |
`cast` ((GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R | |
-> (# (GHC.Prim.State# | |
(K.D:R:PrimStateStateT[0] <m_a4t5>_N <s_a4t6>_N))_R, | |
<a_a4tf>_R #)_R | |
:: ((GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)) | |
-> (# GHC.Prim.State# (PrimState (StateT s_a4t6 m_a4t5)), | |
a_a4tf #)) :: *) | |
~R# | |
((GHC.Prim.State# (PrimState m_a4t5) | |
-> (# GHC.Prim.State# (PrimState m_a4t5), a_a4tf #)) :: *))) } in | |
(\ (s1_a5rJ :: s_a4t6) -> | |
>>= | |
@ m_a4t5 | |
$dMonad_s5rA | |
@ a_a4tf | |
@ (a_a4tf, s_a4t6) | |
m1_a5rH | |
(\ (a1_a5rK :: a_a4tf) -> | |
return | |
@ m_a4t5 $dMonad_s5rA @ (a_a4tf, s_a4t6) (a1_a5rK, s1_a5rJ))) | |
`cast` (Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4t6>_N <m_a4t5>_R <a_a4tf>_N) | |
; Sym K.N:StateT[0] <s_a4t6>_N <m_a4t5>_N <a_a4tf>_N | |
:: ((s_a4t6 -> m_a4t5 (a_a4tf, s_a4t6)) :: *) | |
~R# | |
(StateT s_a4t6 m_a4t5 a_a4tf :: *)) | |
-- RHS size: {terms: 6, types: 13, coercions: 0} | |
K.$fMonadStateT2 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. String -> S.StateT s_a4pN m_a4pO a_a4rL | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,A,C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_a4pN) | |
(@ (m_a4pO :: * -> *)) | |
($dMonad_a4pP [Occ=Once] :: Monad m_a4pO) | |
(@ a_a4rL) | |
(eta_B1 [Occ=Once] :: String) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_a4pO @ s_a4pN $dMonad_a4pP @ a_a4rL eta_B1}] | |
K.$fMonadStateT2 = | |
\ (@ s_a4pN) | |
(@ (m_a4pO :: * -> *)) | |
($dMonad_a4pP :: Monad m_a4pO) | |
(@ a_a4rL) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_a4pO @ s_a4pN $dMonad_a4pP @ a_a4rL | |
-- RHS size: {terms: 1, types: 0, coercions: 22} | |
K.$fMonadStateT1 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4he. String -> StateT s_a4pN m_a4pO a_a4he | |
[GblId, | |
Arity=2, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,A,C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT2 | |
`cast` (forall (s_a4pN :: <*>_N). | |
forall (m_a4pO :: <* -> *>_N). | |
<Monad m_a4pO>_R | |
-> forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_a4pN>_N <m_a4pO>_N <a_a4rL>_N | |
:: ((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> S.StateT s_a4pN m_a4pO a_a4rL) :: *) | |
~R# | |
((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> StateT s_a4pN m_a4pO a_a4rL) :: *))}] | |
K.$fMonadStateT1 = | |
K.$fMonadStateT2 | |
`cast` (forall (s_a4pN :: <*>_N). | |
forall (m_a4pO :: <* -> *>_N). | |
<Monad m_a4pO>_R | |
-> forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_a4pN>_N <m_a4pO>_N <a_a4rL>_N | |
:: ((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> S.StateT s_a4pN m_a4pO a_a4rL) :: *) | |
~R# | |
((forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4rL. [Char] -> StateT s_a4pN m_a4pO a_a4rL) :: *)) | |
-- RHS size: {terms: 6, types: 13, coercions: 0} | |
K.$fMonadStateT4 | |
:: forall s_X4qp (m_X4qr :: * -> *). | |
Monad m_X4qr => | |
forall a_a4rj. a_a4rj -> s_X4qp -> m_X4qr (a_a4rj, s_X4qp) | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4qp) | |
(@ (m_X4qr :: * -> *)) | |
($dMonad_X4qt [Occ=Once] :: Monad m_X4qr) | |
(@ a_a4rj) | |
(eta_B2 [Occ=Once] :: a_a4rj) | |
(eta1_B1 [Occ=Once] :: s_X4qp) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4qr @ s_X4qp $dMonad_X4qt @ a_a4rj eta_B2 eta1_B1}] | |
K.$fMonadStateT4 = | |
\ (@ s_X4qp) | |
(@ (m_X4qr :: * -> *)) | |
($dMonad_X4qt :: Monad m_X4qr) | |
(@ a_a4rj) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4qr @ s_X4qp $dMonad_X4qt @ a_a4rj | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fMonadStateT3 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4hc. a_a4hc -> StateT s_a4pN m_a4pO a_a4hc | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,A,A,C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT4 | |
`cast` (forall (s_X4rh :: <*>_N). | |
forall (m_X4rk :: <* -> *>_N). | |
<Monad m_X4rk>_R | |
-> forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rh>_N <m_X4rk>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rh>_N <m_X4rk>_N <a_X4sd>_N | |
:: ((forall s_X4rh (m_X4rk :: * -> *). | |
Monad m_X4rk => | |
forall a_X4sd. a_X4sd -> s_X4rh -> m_X4rk (a_X4sd, s_X4rh)) :: *) | |
~R# | |
((forall s_X4rh (m_X4rk :: * -> *). | |
Monad m_X4rk => | |
forall a_X4sd. a_X4sd -> StateT s_X4rh m_X4rk a_X4sd) :: *))}] | |
K.$fMonadStateT3 = | |
K.$fMonadStateT4 | |
`cast` (forall (s_X4rh :: <*>_N). | |
forall (m_X4rk :: <* -> *>_N). | |
<Monad m_X4rk>_R | |
-> forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rh>_N <m_X4rk>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rh>_N <m_X4rk>_N <a_X4sd>_N | |
:: ((forall s_X4rh (m_X4rk :: * -> *). | |
Monad m_X4rk => | |
forall a_X4sd. a_X4sd -> s_X4rh -> m_X4rk (a_X4sd, s_X4rh)) :: *) | |
~R# | |
((forall s_X4rh (m_X4rk :: * -> *). | |
Monad m_X4rk => | |
forall a_X4sd. a_X4sd -> StateT s_X4rh m_X4rk a_X4sd) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fMonadStateT6 | |
:: forall s_X4qv (m_X4qx :: * -> *). | |
Monad m_X4qx => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qv m_X4qx a_a4qF | |
-> S.StateT s_X4qv m_X4qx b_a4qG -> S.StateT s_X4qv m_X4qx b_a4qG | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4qv) | |
(@ (m_X4qx :: * -> *)) | |
($dMonad_X4qz [Occ=Once] :: Monad m_X4qx) | |
(@ a_a4qF) | |
(@ b_a4qG) | |
(eta_B2 [Occ=Once] :: S.StateT s_X4qv m_X4qx a_a4qF) | |
(eta1_B1 [Occ=Once] :: S.StateT s_X4qv m_X4qx b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4qx @ s_X4qv $dMonad_X4qz @ a_a4qF @ b_a4qG eta_B2 eta1_B1}] | |
K.$fMonadStateT6 = | |
\ (@ s_X4qv) | |
(@ (m_X4qx :: * -> *)) | |
($dMonad_X4qz :: Monad m_X4qx) | |
(@ a_a4qF) | |
(@ b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4qx @ s_X4qv $dMonad_X4qz @ a_a4qF @ b_a4qG | |
-- RHS size: {terms: 1, types: 0, coercions: 34} | |
K.$fMonadStateT5 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4h9 b_a4ha. | |
StateT s_a4pN m_a4pO a_a4h9 | |
-> StateT s_a4pN m_a4pO b_a4ha -> StateT s_a4pN m_a4pO b_a4ha | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT6 | |
`cast` (forall (s_X4qv :: <*>_N). | |
forall (m_X4qx :: <* -> *>_N). | |
<Monad m_X4qx>_R | |
-> forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <b_a4qG>_N | |
:: ((forall s_X4qv (m_X4qx :: * -> *). | |
Monad m_X4qx => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qv m_X4qx a_a4qF | |
-> S.StateT s_X4qv m_X4qx b_a4qG | |
-> S.StateT s_X4qv m_X4qx b_a4qG) :: *) | |
~R# | |
((forall s_X4qv (m_X4qx :: * -> *). | |
Monad m_X4qx => | |
forall a_a4qF b_a4qG. | |
StateT s_X4qv m_X4qx a_a4qF | |
-> StateT s_X4qv m_X4qx b_a4qG | |
-> StateT s_X4qv m_X4qx b_a4qG) :: *))}] | |
K.$fMonadStateT5 = | |
K.$fMonadStateT6 | |
`cast` (forall (s_X4qv :: <*>_N). | |
forall (m_X4qx :: <* -> *>_N). | |
<Monad m_X4qx>_R | |
-> forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4qv>_N <m_X4qx>_N <b_a4qG>_N | |
:: ((forall s_X4qv (m_X4qx :: * -> *). | |
Monad m_X4qx => | |
forall a_a4qF b_a4qG. | |
S.StateT s_X4qv m_X4qx a_a4qF | |
-> S.StateT s_X4qv m_X4qx b_a4qG | |
-> S.StateT s_X4qv m_X4qx b_a4qG) :: *) | |
~R# | |
((forall s_X4qv (m_X4qx :: * -> *). | |
Monad m_X4qx => | |
forall a_a4qF b_a4qG. | |
StateT s_X4qv m_X4qx a_a4qF | |
-> StateT s_X4qv m_X4qx b_a4qG | |
-> StateT s_X4qv m_X4qx b_a4qG) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fMonadStateT8 | |
:: forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
-> S.StateT s_X4qC m_X4qE b_a4pY | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,C(C1(U)),A,A,A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= (\ (@ s_X4qC) | |
(@ (m_X4qE :: * -> *)) | |
($dMonad_X4qG [Occ=OnceL] :: Monad m_X4qE) | |
(@ a_a4pX) | |
(@ b_a4pY) | |
(eta_B3 [Occ=OnceL] :: S.StateT s_X4qC m_X4qE a_a4pX) | |
(eta1_B2 [Occ=OnceL!] :: a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
(eta2_B1 [Occ=Once] :: s_X4qC) -> | |
(($ @ 'GHC.Types.PtrRepLifted | |
@ (s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) | |
@ (S.StateT s_X4qC m_X4qE b_a4pY) | |
((\ (tpl_a5q0 [Occ=Once] :: s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) -> | |
tpl_a5q0) | |
`cast` (<s_X4qC -> m_X4qE (b_a4pY, s_X4qC)>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qC>_N <m_X4qE>_R <b_a4pY>_N) | |
:: (((s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) | |
-> s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) :: *) | |
~R# | |
(((s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) | |
-> S.StateT s_X4qC m_X4qE b_a4pY) :: *))) | |
(\ (s1_a5q1 [Occ=Once] :: s_X4qC) -> | |
>>= | |
@ m_X4qE | |
$dMonad_X4qG | |
@ (a_a4pX, s_X4qC) | |
@ (b_a4pY, s_X4qC) | |
(S.runStateT @ s_X4qC @ m_X4qE @ a_a4pX eta_B3 s1_a5q1) | |
(\ (ds_a5q2 [Occ=Once!] :: (a_a4pX, s_X4qC)) -> | |
case ds_a5q2 | |
of _ [Occ=Dead] { (a1_a5q5 [Occ=Once], s'_a5q6 [Occ=Once]) -> | |
S.runStateT @ s_X4qC @ m_X4qE @ b_a4pY (eta1_B2 a1_a5q5) s'_a5q6 | |
}))) | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qC>_N <m_X4qE>_R <b_a4pY>_N | |
:: (S.StateT s_X4qC m_X4qE b_a4pY :: *) | |
~R# | |
((s_X4qC -> m_X4qE (b_a4pY, s_X4qC)) :: *))) | |
eta2_B1) | |
`cast` (forall (s_X4qC :: <*>_N). | |
forall (m_X4qE :: <* -> *>_N). | |
<Monad m_X4qE>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
<S.StateT s_X4qC m_X4qE a_a4pX>_R | |
-> <a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4qC>_N <m_X4qE>_R <b_a4pY>_N) | |
:: ((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
-> s_X4qC | |
-> m_X4qE (b_a4pY, s_X4qC)) :: *) | |
~R# | |
((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
-> S.StateT s_X4qC m_X4qE b_a4pY) :: *))}] | |
K.$fMonadStateT8 = | |
\ (@ s_X4qC) | |
(@ (m_X4qE :: * -> *)) | |
($dMonad_X4qG :: Monad m_X4qE) | |
(@ a_a4pX) | |
(@ b_a4pY) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>>= | |
@ m_X4qE @ s_X4qC $dMonad_X4qG @ a_a4pX @ b_a4pY | |
-- RHS size: {terms: 1, types: 0, coercions: 36} | |
K.$fMonadStateT7 | |
:: forall s_a4pN (m_a4pO :: * -> *). | |
Monad m_a4pO => | |
forall a_a4h6 b_a4h7. | |
StateT s_a4pN m_a4pO a_a4h6 | |
-> (a_a4h6 -> StateT s_a4pN m_a4pO b_a4h7) | |
-> StateT s_a4pN m_a4pO b_a4h7 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(A,C(C1(U)),A,A,A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fMonadStateT8 | |
`cast` (forall (s_X4qC :: <*>_N). | |
forall (m_X4qE :: <* -> *>_N). | |
<Monad m_X4qE>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <b_a4pY>_N | |
:: ((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
-> S.StateT s_X4qC m_X4qE b_a4pY) :: *) | |
~R# | |
((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> StateT s_X4qC m_X4qE b_a4pY) | |
-> StateT s_X4qC m_X4qE b_a4pY) :: *))}] | |
K.$fMonadStateT7 = | |
K.$fMonadStateT8 | |
`cast` (forall (s_X4qC :: <*>_N). | |
forall (m_X4qE :: <* -> *>_N). | |
<Monad m_X4qE>_R | |
-> forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4qC>_N <m_X4qE>_N <b_a4pY>_N | |
:: ((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
S.StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> S.StateT s_X4qC m_X4qE b_a4pY) | |
-> S.StateT s_X4qC m_X4qE b_a4pY) :: *) | |
~R# | |
((forall s_X4qC (m_X4qE :: * -> *). | |
Monad m_X4qE => | |
forall a_a4pX b_a4pY. | |
StateT s_X4qC m_X4qE a_a4pX | |
-> (a_a4pX -> StateT s_X4qC m_X4qE b_a4pY) | |
-> StateT s_X4qC m_X4qE b_a4pY) :: *)) | |
-- RHS size: {terms: 16, types: 27, coercions: 0} | |
K.$fApplicativeStateT2 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_a4nc) | |
(@ (m_a4nd :: * -> *)) | |
($dMonad_a4ne :: Monad m_a4nd) | |
(@ a_a4pa) | |
(@ b_a4pb) | |
(eta_B3 [Occ=Once] :: S.StateT s_a4nc m_a4nd a_a4pa) | |
(eta1_B2 [Occ=Once] :: S.StateT s_a4nc m_a4nd b_a4pb) | |
(eta2_B1 [Occ=Once] :: s_a4nc) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT1 | |
@ m_a4nd | |
@ s_a4nc | |
(GHC.Base.$p1Applicative | |
@ m_a4nd (GHC.Base.$p1Monad @ m_a4nd $dMonad_a4ne)) | |
$dMonad_a4ne | |
@ a_a4pa | |
@ b_a4pb | |
eta_B3 | |
eta1_B2 | |
eta2_B1}] | |
K.$fApplicativeStateT2 = | |
\ (@ s_a4nc) | |
(@ (m_a4nd :: * -> *)) | |
($dMonad_a4ne :: Monad m_a4nd) | |
(@ a_a4pa) | |
(@ b_a4pb) | |
(eta_B3 :: S.StateT s_a4nc m_a4nd a_a4pa) | |
(eta1_B2 :: S.StateT s_a4nc m_a4nd b_a4pb) | |
(eta2_B1 :: s_a4nc) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT1 | |
@ m_a4nd | |
@ s_a4nc | |
(GHC.Base.$p1Applicative | |
@ m_a4nd (GHC.Base.$p1Monad @ m_a4nd $dMonad_a4ne)) | |
$dMonad_a4ne | |
@ a_a4pa | |
@ b_a4pb | |
eta_B3 | |
eta1_B2 | |
eta2_B1 | |
-- RHS size: {terms: 1, types: 0, coercions: 40} | |
K.$fApplicativeStateT1 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d9 b_a4da. | |
StateT s_a4nc m_a4nd a_a4d9 | |
-> StateT s_a4nc m_a4nd b_a4da -> StateT s_a4nc m_a4nd a_a4d9 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT2 | |
`cast` (forall (s_a4nc :: <*>_N). | |
forall (m_a4nd :: <* -> *>_N). | |
<Monad m_a4nd>_R | |
-> forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4nc>_N <m_a4nd>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
:: ((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc)) :: *) | |
~R# | |
((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
StateT s_a4nc m_a4nd a_a4pa | |
-> StateT s_a4nc m_a4nd b_a4pb | |
-> StateT s_a4nc m_a4nd a_a4pa) :: *))}] | |
K.$fApplicativeStateT1 = | |
K.$fApplicativeStateT2 | |
`cast` (forall (s_a4nc :: <*>_N). | |
forall (m_a4nd :: <* -> *>_N). | |
<Monad m_a4nd>_R | |
-> forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_a4nc>_N <m_a4nd>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_a4nc>_N <m_a4nd>_N <a_a4pa>_N | |
:: ((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
S.StateT s_a4nc m_a4nd a_a4pa | |
-> S.StateT s_a4nc m_a4nd b_a4pb | |
-> s_a4nc | |
-> m_a4nd (a_a4pa, s_a4nc)) :: *) | |
~R# | |
((forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4pa b_a4pb. | |
StateT s_a4nc m_a4nd a_a4pa | |
-> StateT s_a4nc m_a4nd b_a4pb | |
-> StateT s_a4nc m_a4nd a_a4pa) :: *)) | |
-- RHS size: {terms: 16, types: 27, coercions: 0} | |
K.$fApplicativeStateT4 | |
:: forall s_X4of (m_X4oh :: * -> *). | |
Monad m_X4oh => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4of m_X4oh a_a4ow | |
-> S.StateT s_X4of m_X4oh b_a4ox | |
-> s_X4of | |
-> m_X4oh (b_a4ox, s_X4of) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4of) | |
(@ (m_X4oh :: * -> *)) | |
($dMonad_X4oj :: Monad m_X4oh) | |
(@ a_a4ow) | |
(@ b_a4ox) | |
(eta_X17 [Occ=Once] :: S.StateT s_X4of m_X4oh a_a4ow) | |
(eta1_X2c [Occ=Once] :: S.StateT s_X4of m_X4oh b_a4ox) | |
(eta2_B1 [Occ=Once] :: s_X4of) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT3 | |
@ m_X4oh | |
@ s_X4of | |
(GHC.Base.$p1Applicative | |
@ m_X4oh (GHC.Base.$p1Monad @ m_X4oh $dMonad_X4oj)) | |
$dMonad_X4oj | |
@ a_a4ow | |
@ b_a4ox | |
eta_X17 | |
eta1_X2c | |
eta2_B1}] | |
K.$fApplicativeStateT4 = | |
\ (@ s_X4of) | |
(@ (m_X4oh :: * -> *)) | |
($dMonad_X4oj :: Monad m_X4oh) | |
(@ a_a4ow) | |
(@ b_a4ox) | |
(eta_X17 :: S.StateT s_X4of m_X4oh a_a4ow) | |
(eta1_X2c :: S.StateT s_X4of m_X4oh b_a4ox) | |
(eta2_B1 :: s_X4of) -> | |
Control.Monad.Trans.State.Strict.$fApplicativeStateT3 | |
@ m_X4oh | |
@ s_X4of | |
(GHC.Base.$p1Applicative | |
@ m_X4oh (GHC.Base.$p1Monad @ m_X4oh $dMonad_X4oj)) | |
$dMonad_X4oj | |
@ a_a4ow | |
@ b_a4ox | |
eta_X17 | |
eta1_X2c | |
eta2_B1 | |
-- RHS size: {terms: 1, types: 0, coercions: 40} | |
K.$fApplicativeStateT3 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d6 b_a4d7. | |
StateT s_a4nc m_a4nd a_a4d6 | |
-> StateT s_a4nc m_a4nd b_a4d7 -> StateT s_a4nc m_a4nd b_a4d7 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(1*U(1*U(1*C1(C1(U)),A),A,A,A,A),C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT4 | |
`cast` (forall (s_X4of :: <*>_N). | |
forall (m_X4oh :: <* -> *>_N). | |
<Monad m_X4oh>_R | |
-> forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4of>_N <m_X4oh>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <b_a4ox>_N | |
:: ((forall s_X4of (m_X4oh :: * -> *). | |
Monad m_X4oh => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4of m_X4oh a_a4ow | |
-> S.StateT s_X4of m_X4oh b_a4ox | |
-> s_X4of | |
-> m_X4oh (b_a4ox, s_X4of)) :: *) | |
~R# | |
((forall s_X4of (m_X4oh :: * -> *). | |
Monad m_X4oh => | |
forall a_a4ow b_a4ox. | |
StateT s_X4of m_X4oh a_a4ow | |
-> StateT s_X4of m_X4oh b_a4ox | |
-> StateT s_X4of m_X4oh b_a4ox) :: *))}] | |
K.$fApplicativeStateT3 = | |
K.$fApplicativeStateT4 | |
`cast` (forall (s_X4of :: <*>_N). | |
forall (m_X4oh :: <* -> *>_N). | |
<Monad m_X4oh>_R | |
-> forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4of>_N <m_X4oh>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4of>_N <m_X4oh>_N <b_a4ox>_N | |
:: ((forall s_X4of (m_X4oh :: * -> *). | |
Monad m_X4oh => | |
forall a_a4ow b_a4ox. | |
S.StateT s_X4of m_X4oh a_a4ow | |
-> S.StateT s_X4of m_X4oh b_a4ox | |
-> s_X4of | |
-> m_X4oh (b_a4ox, s_X4of)) :: *) | |
~R# | |
((forall s_X4of (m_X4oh :: * -> *). | |
Monad m_X4oh => | |
forall a_a4ow b_a4ox. | |
StateT s_X4of m_X4oh a_a4ow | |
-> StateT s_X4of m_X4oh b_a4ox | |
-> StateT s_X4of m_X4oh b_a4ox) :: *)) | |
-- RHS size: {terms: 30, types: 62, coercions: 9} | |
K.$fApplicativeStateT6 | |
:: forall s_X4om (m_X4oo :: * -> *). | |
Monad m_X4oo => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4om m_X4oo a_a4nO | |
-> s_X4om | |
-> m_X4oo (b_a4nP, s_X4om) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=IF_ARGS [90 60 60 0] 220 0}] | |
K.$fApplicativeStateT6 = | |
\ (@ s_X4om) | |
(@ (m_X4oo :: * -> *)) | |
($dMonad_X4oq :: Monad m_X4oo) | |
(@ a_a4nO) | |
(@ b_a4nP) | |
(eta_X1h :: S.StateT s_X4om m_X4oo (a_a4nO -> b_a4nP)) | |
(eta1_X2w :: S.StateT s_X4om m_X4oo a_a4nO) | |
(eta2_B1 :: s_X4om) -> | |
>>= | |
@ m_X4oo | |
$dMonad_X4oq | |
@ (a_a4nO -> b_a4nP, s_X4om) | |
@ (b_a4nP, s_X4om) | |
((eta_X1h | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4om>_N <m_X4oo>_R <a_a4nO -> b_a4nP>_N | |
:: (S.StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) :: *) | |
~R# | |
((s_X4om -> m_X4oo (a_a4nO -> b_a4nP, s_X4om)) :: *))) | |
eta2_B1) | |
(\ (ds2_a5qD :: (a_a4nO -> b_a4nP, s_X4om)) -> | |
case ds2_a5qD of _ [Occ=Dead] { (f_a5qG, s'_a5qH) -> | |
>>= | |
@ m_X4oo | |
$dMonad_X4oq | |
@ (a_a4nO, s_X4om) | |
@ (b_a4nP, s_X4om) | |
((eta1_X2w | |
`cast` (Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4om>_N <m_X4oo>_R <a_a4nO>_N | |
:: (S.StateT s_X4om m_X4oo a_a4nO :: *) | |
~R# | |
((s_X4om -> m_X4oo (a_a4nO, s_X4om)) :: *))) | |
s'_a5qH) | |
(\ (ds3_a5qJ :: (a_a4nO, s_X4om)) -> | |
case ds3_a5qJ of _ [Occ=Dead] { (x_a5qM, s''_a5qN) -> | |
return | |
@ m_X4oo $dMonad_X4oq @ (b_a4nP, s_X4om) (f_a5qG x_a5qM, s''_a5qN) | |
}) | |
}) | |
-- RHS size: {terms: 1, types: 0, coercions: 41} | |
K.$fApplicativeStateT5 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d3 b_a4d4. | |
StateT s_a4nc m_a4nd (a_a4d3 -> b_a4d4) | |
-> StateT s_a4nc m_a4nd a_a4d3 -> StateT s_a4nc m_a4nd b_a4d4 | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LC(C(S))LLL),U(A,C(C1(U)),A,C(U),A)><L,1*C1(U)><L,C(U)><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT6 | |
`cast` (forall (s_X4om :: <*>_N). | |
forall (m_X4oo :: <* -> *>_N). | |
<Monad m_X4oo>_R | |
-> forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4om>_N <m_X4oo>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <b_a4nP>_N | |
:: ((forall s_X4om (m_X4oo :: * -> *). | |
Monad m_X4oo => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4om m_X4oo a_a4nO | |
-> s_X4om | |
-> m_X4oo (b_a4nP, s_X4om)) :: *) | |
~R# | |
((forall s_X4om (m_X4oo :: * -> *). | |
Monad m_X4oo => | |
forall a_a4nO b_a4nP. | |
StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) | |
-> StateT s_X4om m_X4oo a_a4nO | |
-> StateT s_X4om m_X4oo b_a4nP) :: *))}] | |
K.$fApplicativeStateT5 = | |
K.$fApplicativeStateT6 | |
`cast` (forall (s_X4om :: <*>_N). | |
forall (m_X4oo :: <* -> *>_N). | |
<Monad m_X4oo>_R | |
-> forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4om>_N <m_X4oo>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4om>_N <m_X4oo>_N <b_a4nP>_N | |
:: ((forall s_X4om (m_X4oo :: * -> *). | |
Monad m_X4oo => | |
forall a_a4nO b_a4nP. | |
S.StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4om m_X4oo a_a4nO | |
-> s_X4om | |
-> m_X4oo (b_a4nP, s_X4om)) :: *) | |
~R# | |
((forall s_X4om (m_X4oo :: * -> *). | |
Monad m_X4oo => | |
forall a_a4nO b_a4nP. | |
StateT s_X4om m_X4oo (a_a4nO -> b_a4nP) | |
-> StateT s_X4om m_X4oo a_a4nO | |
-> StateT s_X4om m_X4oo b_a4nP) :: *)) | |
-- RHS size: {terms: 11, types: 18, coercions: 0} | |
K.$fApplicativeStateT8 | |
:: forall s_X4ot (m_X4ov :: * -> *). | |
Monad m_X4ov => | |
forall a_a4nm. a_a4nm -> s_X4ot -> m_X4ov (a_a4nm, s_X4ot) | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LLLC(S)L),1*U(A,A,A,1*C1(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4ot) | |
(@ (m_X4ov :: * -> *)) | |
($dMonad_X4ox [Occ=Once] :: Monad m_X4ov) | |
(@ a_a4nm) | |
(eta_X1p [Occ=Once] :: a_a4nm) | |
(eta1_B1 [Occ=Once] :: s_X4ot) -> | |
return | |
@ m_X4ov $dMonad_X4ox @ (a_a4nm, s_X4ot) (eta_X1p, eta1_B1)}] | |
K.$fApplicativeStateT8 = | |
\ (@ s_X4ot) | |
(@ (m_X4ov :: * -> *)) | |
($dMonad_X4ox :: Monad m_X4ov) | |
(@ a_a4nm) | |
(eta_X1p :: a_a4nm) | |
(eta1_B1 :: s_X4ot) -> | |
return @ m_X4ov $dMonad_X4ox @ (a_a4nm, s_X4ot) (eta_X1p, eta1_B1) | |
-- RHS size: {terms: 1, types: 0, coercions: 27} | |
K.$fApplicativeStateT7 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
forall a_a4d1. a_a4d1 -> StateT s_a4nc m_a4nd a_a4d1 | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <S(LLLC(S)L),1*U(A,A,A,1*C1(U),A)><L,U><L,U>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fApplicativeStateT8 | |
`cast` (forall (s_X4ot :: <*>_N). | |
forall (m_X4ov :: <* -> *>_N). | |
<Monad m_X4ov>_R | |
-> forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ot>_N <m_X4ov>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4ot>_N <m_X4ov>_N <a_a4nm>_N | |
:: ((forall s_X4ot (m_X4ov :: * -> *). | |
Monad m_X4ov => | |
forall a_a4nm. a_a4nm -> s_X4ot -> m_X4ov (a_a4nm, s_X4ot)) :: *) | |
~R# | |
((forall s_X4ot (m_X4ov :: * -> *). | |
Monad m_X4ov => | |
forall a_a4nm. a_a4nm -> StateT s_X4ot m_X4ov a_a4nm) :: *))}] | |
K.$fApplicativeStateT7 = | |
K.$fApplicativeStateT8 | |
`cast` (forall (s_X4ot :: <*>_N). | |
forall (m_X4ov :: <* -> *>_N). | |
<Monad m_X4ov>_R | |
-> forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4ot>_N <m_X4ov>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4ot>_N <m_X4ov>_N <a_a4nm>_N | |
:: ((forall s_X4ot (m_X4ov :: * -> *). | |
Monad m_X4ov => | |
forall a_a4nm. a_a4nm -> s_X4ot -> m_X4ov (a_a4nm, s_X4ot)) :: *) | |
~R# | |
((forall s_X4ot (m_X4ov :: * -> *). | |
Monad m_X4ov => | |
forall a_a4nm. a_a4nm -> StateT s_X4ot m_X4ov a_a4nm) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fFunctorStateT2 | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a4mz b_a4mA. | |
a_a4mz | |
-> S.StateT s_a4lL m_a4lM b_a4mA | |
-> s_a4lL | |
-> m_a4lM (a_a4mz, s_a4lL) | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(C1(U)),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_a4lL) | |
(@ (m_a4lM :: * -> *)) | |
($dFunctor_a4lN [Occ=Once] :: Functor m_a4lM) | |
(@ a_a4mz) | |
(@ b_a4mA) | |
(eta_B3 [Occ=Once] :: a_a4mz) | |
(eta1_B2 [Occ=Once] :: S.StateT s_a4lL m_a4lM b_a4mA) | |
(eta2_B1 [Occ=Once] :: s_a4lL) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_a4lM | |
@ s_a4lL | |
$dFunctor_a4lN | |
@ a_a4mz | |
@ b_a4mA | |
eta_B3 | |
eta1_B2 | |
eta2_B1}] | |
K.$fFunctorStateT2 = | |
\ (@ s_a4lL) | |
(@ (m_a4lM :: * -> *)) | |
($dFunctor_a4lN :: Functor m_a4lM) | |
(@ a_a4mz) | |
(@ b_a4mA) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_a4lM @ s_a4lL $dFunctor_a4lN @ a_a4mz @ b_a4mA | |
-- RHS size: {terms: 1, types: 0, coercions: 36} | |
K.$fFunctorStateT1 | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a42e b_a42f. | |
a_a42e | |
-> StateT s_a4lL m_a4lM b_a42f -> StateT s_a4lL m_a4lM a_a42e | |
[GblId, | |
Arity=4, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(C1(U)),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fFunctorStateT2 | |
`cast` (forall (s_X4n1 :: <*>_N). | |
forall (m_X4n3 :: <* -> *>_N). | |
<Functor m_X4n3>_R | |
-> forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4n1>_N <m_X4n3>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <a_X4nR>_N | |
:: ((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4n1 m_X4n3 b_X4nT | |
-> s_X4n1 | |
-> m_X4n3 (a_X4nR, s_X4n1)) :: *) | |
~R# | |
((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4n1 m_X4n3 b_X4nT | |
-> StateT s_X4n1 m_X4n3 a_X4nR) :: *))}] | |
K.$fFunctorStateT1 = | |
K.$fFunctorStateT2 | |
`cast` (forall (s_X4n1 :: <*>_N). | |
forall (m_X4n3 :: <* -> *>_N). | |
<Functor m_X4n3>_R | |
-> forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4n1>_N <m_X4n3>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4n1>_N <m_X4n3>_N <a_X4nR>_N | |
:: ((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4n1 m_X4n3 b_X4nT | |
-> s_X4n1 | |
-> m_X4n3 (a_X4nR, s_X4n1)) :: *) | |
~R# | |
((forall s_X4n1 (m_X4n3 :: * -> *). | |
Functor m_X4n3 => | |
forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4n1 m_X4n3 b_X4nT | |
-> StateT s_X4n1 m_X4n3 a_X4nR) :: *)) | |
-- RHS size: {terms: 7, types: 16, coercions: 0} | |
K.$fFunctorStateT4 | |
:: forall s_X4nf (m_X4nh :: * -> *). | |
Functor m_X4nh => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4nf m_X4nh a_a4lR -> S.StateT s_X4nf m_X4nh b_a4lS | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) | |
Tmpl= \ (@ s_X4nf) | |
(@ (m_X4nh :: * -> *)) | |
($dFunctor_X4nj [Occ=Once] :: Functor m_X4nh) | |
(@ a_a4lR) | |
(@ b_a4lS) | |
(eta_B2 [Occ=Once] :: a_a4lR -> b_a4lS) | |
(eta1_B1 [Occ=Once] :: S.StateT s_X4nf m_X4nh a_a4lR) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4nh @ s_X4nf $dFunctor_X4nj @ a_a4lR @ b_a4lS eta_B2 eta1_B1}] | |
K.$fFunctorStateT4 = | |
\ (@ s_X4nf) | |
(@ (m_X4nh :: * -> *)) | |
($dFunctor_X4nj :: Functor m_X4nh) | |
(@ a_a4lR) | |
(@ b_a4lS) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4nh @ s_X4nf $dFunctor_X4nj @ a_a4lR @ b_a4lS | |
-- RHS size: {terms: 1, types: 0, coercions: 31} | |
K.$fFunctorStateT3 | |
:: forall s_a4lL (m_a4lM :: * -> *). | |
Functor m_a4lM => | |
forall a_a42b b_a42c. | |
(a_a42b -> b_a42c) | |
-> StateT s_a4lL m_a4lM a_a42b -> StateT s_a4lL m_a4lM b_a42c | |
[GblId, | |
Arity=3, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) | |
Tmpl= K.$fFunctorStateT4 | |
`cast` (forall (s_X4nf :: <*>_N). | |
forall (m_X4nh :: <* -> *>_N). | |
<Functor m_X4nh>_R | |
-> forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4nf>_N <m_X4nh>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4nf>_N <m_X4nh>_N <b_a4lS>_N | |
:: ((forall s_X4nf (m_X4nh :: * -> *). | |
Functor m_X4nh => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4nf m_X4nh a_a4lR | |
-> S.StateT s_X4nf m_X4nh b_a4lS) :: *) | |
~R# | |
((forall s_X4nf (m_X4nh :: * -> *). | |
Functor m_X4nh => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4nf m_X4nh a_a4lR | |
-> StateT s_X4nf m_X4nh b_a4lS) :: *))}] | |
K.$fFunctorStateT3 = | |
K.$fFunctorStateT4 | |
`cast` (forall (s_X4nf :: <*>_N). | |
forall (m_X4nh :: <* -> *>_N). | |
<Functor m_X4nh>_R | |
-> forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4nf>_N <m_X4nh>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4nf>_N <m_X4nh>_N <b_a4lS>_N | |
:: ((forall s_X4nf (m_X4nh :: * -> *). | |
Functor m_X4nh => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4nf m_X4nh a_a4lR | |
-> S.StateT s_X4nf m_X4nh b_a4lS) :: *) | |
~R# | |
((forall s_X4nf (m_X4nh :: * -> *). | |
Functor m_X4nh => | |
forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4nf m_X4nh a_a4lR | |
-> StateT s_X4nf m_X4nh b_a4lS) :: *)) | |
-- RHS size: {terms: 12, types: 27, coercions: 45} | |
K.$fFunctorStateT | |
:: forall s_a4lE (m_a4lF :: * -> *). | |
Functor m_a4lF => | |
Functor (StateT s_a4lE m_a4lF) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(C(U),A)>m, | |
Unf=DFun: \ (@ s_X4nm[ssk]) | |
(@ (m_X4no[ssk] :: * -> *)) | |
($dFunctor_X4nq :: Functor m_X4no[ssk]) -> | |
GHC.Base.C:Functor TYPE: StateT s_X4nm[ssk] m_X4no[ssk] | |
K.$fFunctorStateT3 @ s_X4nm[ssk] @ m_X4no[ssk] $dFunctor_X4nq | |
K.$fFunctorStateT1 @ s_X4nm[ssk] @ m_X4no[ssk] $dFunctor_X4nq] | |
K.$fFunctorStateT = | |
\ (@ s_X4nm) | |
(@ (m_X4no :: * -> *)) | |
($dFunctor_X4nq :: Functor m_X4no) -> | |
GHC.Base.C:Functor | |
@ (StateT s_X4nm m_X4no) | |
((\ (@ a_a4lR) (@ b_a4lS) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT_$cfmap | |
@ m_X4no @ s_X4nm $dFunctor_X4nq @ a_a4lR @ b_a4lS) | |
`cast` (forall (a_a4lR :: <*>_N). | |
forall (b_a4lS :: <*>_N). | |
<a_a4lR -> b_a4lS>_R | |
-> Sym K.N:StateT[0] <s_X4nm>_N <m_X4no>_N <a_a4lR>_N | |
-> Sym K.N:StateT[0] <s_X4nm>_N <m_X4no>_N <b_a4lS>_N | |
:: ((forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> S.StateT s_X4nm m_X4no a_a4lR | |
-> S.StateT s_X4nm m_X4no b_a4lS) :: *) | |
~R# | |
((forall a_a4lR b_a4lS. | |
(a_a4lR -> b_a4lS) | |
-> StateT s_X4nm m_X4no a_a4lR | |
-> StateT s_X4nm m_X4no b_a4lS) :: *))) | |
((\ (@ a_X4nV) (@ b_X4nX) -> | |
Control.Monad.Trans.State.Strict.$fFunctorStateT1 | |
@ m_X4no @ s_X4nm $dFunctor_X4nq @ a_X4nV @ b_X4nX) | |
`cast` (forall (a_X4nR :: <*>_N). | |
forall (b_X4nT :: <*>_N). | |
<a_X4nR>_R | |
-> Sym K.N:StateT[0] <s_X4nm>_N <m_X4no>_N <b_X4nT>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4nm>_N <m_X4no>_R <a_X4nR>_N) | |
; Sym K.N:StateT[0] <s_X4nm>_N <m_X4no>_N <a_X4nR>_N | |
:: ((forall a_X4nR b_X4nT. | |
a_X4nR | |
-> S.StateT s_X4nm m_X4no b_X4nT | |
-> s_X4nm | |
-> m_X4no (a_X4nR, s_X4nm)) :: *) | |
~R# | |
((forall a_X4nR b_X4nT. | |
a_X4nR | |
-> StateT s_X4nm m_X4no b_X4nT | |
-> StateT s_X4nm m_X4no a_X4nR) :: *))) | |
-- RHS size: {terms: 7, types: 12, coercions: 0} | |
K.$fApplicativeStateT9 | |
:: forall s_a4nc (m_a4nd :: * -> *). | |
Monad m_a4nd => | |
Functor (StateT s_a4nc m_a4nd) | |
[GblId, | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,1*U(1*U(1*U(C(U),A),A,A,A,A),A,A,A,A)>m, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ s_X4oO) | |
(@ (m_X4oQ :: * -> *)) | |
($dMonad_X4oS [Occ=Once] :: Monad m_X4oQ) -> | |
K.$fFunctorStateT | |
@ s_X4oO | |
@ m_X4oQ | |
(GHC.Base.$p1Applicative | |
@ m_X4oQ (GHC.Base.$p1Monad @ m_X4oQ $dMonad_X4oS))}] | |
K.$fApplicativeStateT9 = | |
\ (@ s_X4oO) | |
(@ (m_X4oQ :: * -> *)) | |
($dMonad_X4oS :: Monad m_X4oQ) -> | |
K.$fFunctorStateT | |
@ s_X4oO | |
@ m_X4oQ | |
(GHC.Base.$p1Applicative | |
@ m_X4oQ (GHC.Base.$p1Monad @ m_X4oQ $dMonad_X4oS)) | |
-- RHS size: {terms: 20, types: 29, coercions: 104} | |
K.$fApplicativeStateT | |
:: forall s_a4lG (m_a4lH :: * -> *). | |
Monad m_a4lH => | |
Applicative (StateT s_a4lG m_a4lH) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),A)>m, | |
Unf=DFun: \ (@ s_X4oP[ssk]) | |
(@ (m_X4oR[ssk] :: * -> *)) | |
($dMonad_X4oT :: Monad m_X4oR[ssk]) -> | |
GHC.Base.C:Applicative TYPE: StateT s_X4oP[ssk] m_X4oR[ssk] | |
K.$fApplicativeStateT9 @ s_X4oP[ssk] @ m_X4oR[ssk] $dMonad_X4oT | |
K.$fApplicativeStateT7 @ s_X4oP[ssk] @ m_X4oR[ssk] $dMonad_X4oT | |
K.$fApplicativeStateT5 @ s_X4oP[ssk] @ m_X4oR[ssk] $dMonad_X4oT | |
K.$fApplicativeStateT3 @ s_X4oP[ssk] @ m_X4oR[ssk] $dMonad_X4oT | |
K.$fApplicativeStateT1 @ s_X4oP[ssk] @ m_X4oR[ssk] $dMonad_X4oT] | |
K.$fApplicativeStateT = | |
\ (@ s_X4oP) | |
(@ (m_X4oR :: * -> *)) | |
($dMonad_X4oT :: Monad m_X4oR) -> | |
GHC.Base.C:Applicative | |
@ (StateT s_X4oP m_X4oR) | |
(K.$fApplicativeStateT9 @ s_X4oP @ m_X4oR $dMonad_X4oT) | |
((\ (@ a_a4nm) (eta_X1p :: a_a4nm) (eta1_B1 :: s_X4oP) -> | |
return @ m_X4oR $dMonad_X4oT @ (a_a4nm, s_X4oP) (eta_X1p, eta1_B1)) | |
`cast` (forall (a_a4nm :: <*>_N). | |
<a_a4nm>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oP>_N <m_X4oR>_R <a_a4nm>_N) | |
; Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4nm>_N | |
:: ((forall a_a4nm. | |
a_a4nm -> s_X4oP -> m_X4oR (a_a4nm, s_X4oP)) :: *) | |
~R# | |
((forall a_a4nm. a_a4nm -> StateT s_X4oP m_X4oR a_a4nm) :: *))) | |
((K.$fApplicativeStateT6 @ s_X4oP @ m_X4oR $dMonad_X4oT) | |
`cast` (forall (a_a4nO :: <*>_N). | |
forall (b_a4nP :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4nO -> b_a4nP>_N | |
-> Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4nO>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oP>_N <m_X4oR>_R <b_a4nP>_N) | |
; Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <b_a4nP>_N | |
:: ((forall a_a4nO b_a4nP. | |
S.StateT s_X4oP m_X4oR (a_a4nO -> b_a4nP) | |
-> S.StateT s_X4oP m_X4oR a_a4nO | |
-> s_X4oP | |
-> m_X4oR (b_a4nP, s_X4oP)) :: *) | |
~R# | |
((forall a_a4nO b_a4nP. | |
StateT s_X4oP m_X4oR (a_a4nO -> b_a4nP) | |
-> StateT s_X4oP m_X4oR a_a4nO | |
-> StateT s_X4oP m_X4oR b_a4nP) :: *))) | |
((K.$fApplicativeStateT4 @ s_X4oP @ m_X4oR $dMonad_X4oT) | |
`cast` (forall (a_a4ow :: <*>_N). | |
forall (b_a4ox :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4ow>_N | |
-> Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <b_a4ox>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oP>_N <m_X4oR>_R <b_a4ox>_N) | |
; Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <b_a4ox>_N | |
:: ((forall a_a4ow b_a4ox. | |
S.StateT s_X4oP m_X4oR a_a4ow | |
-> S.StateT s_X4oP m_X4oR b_a4ox | |
-> s_X4oP | |
-> m_X4oR (b_a4ox, s_X4oP)) :: *) | |
~R# | |
((forall a_a4ow b_a4ox. | |
StateT s_X4oP m_X4oR a_a4ow | |
-> StateT s_X4oP m_X4oR b_a4ox | |
-> StateT s_X4oP m_X4oR b_a4ox) :: *))) | |
((K.$fApplicativeStateT2 @ s_X4oP @ m_X4oR $dMonad_X4oT) | |
`cast` (forall (a_a4pa :: <*>_N). | |
forall (b_a4pb :: <*>_N). | |
Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4pa>_N | |
-> Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <b_a4pb>_N | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4oP>_N <m_X4oR>_R <a_a4pa>_N) | |
; Sym K.N:StateT[0] <s_X4oP>_N <m_X4oR>_N <a_a4pa>_N | |
:: ((forall a_a4pa b_a4pb. | |
S.StateT s_X4oP m_X4oR a_a4pa | |
-> S.StateT s_X4oP m_X4oR b_a4pb | |
-> s_X4oP | |
-> m_X4oR (a_a4pa, s_X4oP)) :: *) | |
~R# | |
((forall a_a4pa b_a4pb. | |
StateT s_X4oP m_X4oR a_a4pa | |
-> StateT s_X4oP m_X4oR b_a4pb | |
-> StateT s_X4oP m_X4oR a_a4pa) :: *))) | |
-- RHS size: {terms: 20, types: 39, coercions: 75} | |
K.$fMonadStateT | |
:: forall s_a4lI (m_a4lJ :: * -> *). | |
Monad m_a4lJ => | |
Monad (StateT s_a4lI m_a4lJ) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U))>m, | |
Unf=DFun: \ (@ s_X4rr[ssk]) | |
(@ (m_X4rt[ssk] :: * -> *)) | |
($dMonad_X4rv :: Monad m_X4rt[ssk]) -> | |
GHC.Base.C:Monad TYPE: StateT s_X4rr[ssk] m_X4rt[ssk] | |
K.$fApplicativeStateT @ s_X4rr[ssk] @ m_X4rt[ssk] $dMonad_X4rv | |
K.$fMonadStateT7 @ s_X4rr[ssk] @ m_X4rt[ssk] $dMonad_X4rv | |
K.$fMonadStateT5 @ s_X4rr[ssk] @ m_X4rt[ssk] $dMonad_X4rv | |
K.$fMonadStateT3 @ s_X4rr[ssk] @ m_X4rt[ssk] $dMonad_X4rv | |
K.$fMonadStateT1 @ s_X4rr[ssk] @ m_X4rt[ssk] $dMonad_X4rv] | |
K.$fMonadStateT = | |
\ (@ s_X4rr) | |
(@ (m_X4rt :: * -> *)) | |
($dMonad_X4rv :: Monad m_X4rt) -> | |
GHC.Base.C:Monad | |
@ (StateT s_X4rr m_X4rt) | |
(K.$fApplicativeStateT @ s_X4rr @ m_X4rt $dMonad_X4rv) | |
((\ (@ a_a4pX) (@ b_a4pY) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>>= | |
@ m_X4rt @ s_X4rr $dMonad_X4rv @ a_a4pX @ b_a4pY) | |
`cast` (forall (a_a4pX :: <*>_N). | |
forall (b_a4pY :: <*>_N). | |
Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <a_a4pX>_N | |
-> (<a_a4pX>_R | |
-> Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <b_a4pY>_N) | |
-> Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <b_a4pY>_N | |
:: ((forall a_a4pX b_a4pY. | |
S.StateT s_X4rr m_X4rt a_a4pX | |
-> (a_a4pX -> S.StateT s_X4rr m_X4rt b_a4pY) | |
-> S.StateT s_X4rr m_X4rt b_a4pY) :: *) | |
~R# | |
((forall a_a4pX b_a4pY. | |
StateT s_X4rr m_X4rt a_a4pX | |
-> (a_a4pX -> StateT s_X4rr m_X4rt b_a4pY) | |
-> StateT s_X4rr m_X4rt b_a4pY) :: *))) | |
((\ (@ a_a4qF) (@ b_a4qG) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$c>> | |
@ m_X4rt @ s_X4rr $dMonad_X4rv @ a_a4qF @ b_a4qG) | |
`cast` (forall (a_a4qF :: <*>_N). | |
forall (b_a4qG :: <*>_N). | |
Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <a_a4qF>_N | |
-> Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <b_a4qG>_N | |
-> Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <b_a4qG>_N | |
:: ((forall a_a4qF b_a4qG. | |
S.StateT s_X4rr m_X4rt a_a4qF | |
-> S.StateT s_X4rr m_X4rt b_a4qG | |
-> S.StateT s_X4rr m_X4rt b_a4qG) :: *) | |
~R# | |
((forall a_a4qF b_a4qG. | |
StateT s_X4rr m_X4rt a_a4qF | |
-> StateT s_X4rr m_X4rt b_a4qG | |
-> StateT s_X4rr m_X4rt b_a4qG) :: *))) | |
((\ (@ a_X4sI) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT1 | |
@ m_X4rt @ s_X4rr $dMonad_X4rv @ a_X4sI) | |
`cast` (forall (a_X4sd :: <*>_N). | |
<a_X4sd>_R | |
-> Sym | |
(Control.Monad.Trans.State.Strict.N:StateT[0] | |
<s_X4rr>_N <m_X4rt>_R <a_X4sd>_N) | |
; Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <a_X4sd>_N | |
:: ((forall a_X4sd. | |
a_X4sd -> s_X4rr -> m_X4rt (a_X4sd, s_X4rr)) :: *) | |
~R# | |
((forall a_X4sd. a_X4sd -> StateT s_X4rr m_X4rt a_X4sd) :: *))) | |
((\ (@ a_a4rL) -> | |
Control.Monad.Trans.State.Strict.$fMonadStateT_$cfail | |
@ m_X4rt @ s_X4rr $dMonad_X4rv @ a_a4rL) | |
`cast` (forall (a_a4rL :: <*>_N). | |
<[Char]>_R -> Sym K.N:StateT[0] <s_X4rr>_N <m_X4rt>_N <a_a4rL>_N | |
:: ((forall a_a4rL. [Char] -> S.StateT s_X4rr m_X4rt a_a4rL) :: *) | |
~R# | |
((forall a_a4rL. [Char] -> StateT s_X4rr m_X4rt a_a4rL) :: *))) | |
-- RHS size: {terms: 6, types: 11, coercions: 0} | |
K.$fPrimMonadStateT2 | |
:: forall (m_a4t5 :: * -> *) s_a4t6. | |
PrimMonad m_a4t5 => | |
Monad (StateT s_a4t6 m_a4t5) | |
[GblId, | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,1*U(1*U(U(U(C(U),A),A,A,A,A),C(C1(U)),A,C(U),C(U)),A)>m, | |
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, | |
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) | |
Tmpl= \ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 [Occ=Once] :: PrimMonad m_a4t5) -> | |
K.$fMonadStateT | |
@ s_a4t6 | |
@ m_a4t5 | |
(Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7)}] | |
K.$fPrimMonadStateT2 = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) -> | |
K.$fMonadStateT | |
@ s_a4t6 | |
@ m_a4t5 | |
(Control.Monad.Primitive.$p1PrimMonad @ m_a4t5 $dPrimMonad_a4t7) | |
-- RHS size: {terms: 8, types: 15, coercions: 0} | |
K.$fPrimMonadStateT | |
:: forall (m_a41w :: * -> *) s_a41x. | |
PrimMonad m_a41w => | |
PrimMonad (StateT s_a41x m_a41w) | |
[GblId[DFunId], | |
Arity=1, | |
Caf=NoCafRefs, | |
Str=DmdType <L,U(U(U(U(U,U),U,U,U,U),U,U,U,U),C(U))>m, | |
Unf=DFun: \ (@ (m_a4t5[ssk] :: * -> *)) | |
(@ s_a4t6[ssk]) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5[ssk]) -> | |
Control.Monad.Primitive.C:PrimMonad TYPE: StateT | |
s_a4t6[ssk] m_a4t5[ssk] | |
K.$fPrimMonadStateT2 | |
@ m_a4t5[ssk] @ s_a4t6[ssk] $dPrimMonad_a4t7 | |
K.$fPrimMonadStateT1 | |
@ m_a4t5[ssk] @ s_a4t6[ssk] $dPrimMonad_a4t7] | |
K.$fPrimMonadStateT = | |
\ (@ (m_a4t5 :: * -> *)) | |
(@ s_a4t6) | |
($dPrimMonad_a4t7 :: PrimMonad m_a4t5) -> | |
Control.Monad.Primitive.C:PrimMonad | |
@ (StateT s_a4t6 m_a4t5) | |
(K.$fPrimMonadStateT2 @ m_a4t5 @ s_a4t6 $dPrimMonad_a4t7) | |
(K.$fPrimMonadStateT1 @ m_a4t5 @ s_a4t6 $dPrimMonad_a4t7) | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$trModule2 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] | |
K.$trModule2 = GHC.Types.TrNameS "main"# | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$trModule1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] | |
K.$trModule1 = GHC.Types.TrNameS "K"# | |
-- RHS size: {terms: 3, types: 0, coercions: 0} | |
K.$trModule :: GHC.Types.Module | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] | |
K.$trModule = GHC.Types.Module K.$trModule2 K.$trModule1 | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$tc'StateT1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] | |
K.$tc'StateT1 = GHC.Types.TrNameS "'StateT"# | |
-- RHS size: {terms: 5, types: 0, coercions: 0} | |
K.$tc'StateT :: GHC.Types.TyCon | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] | |
K.$tc'StateT = | |
GHC.Types.TyCon | |
8261700209586878308## | |
13506212086962882202## | |
K.$trModule | |
K.$tc'StateT1 | |
-- RHS size: {terms: 2, types: 0, coercions: 0} | |
K.$tcStateT1 :: GHC.Types.TrName | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m1, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] | |
K.$tcStateT1 = GHC.Types.TrNameS "StateT"# | |
-- RHS size: {terms: 5, types: 0, coercions: 0} | |
K.$tcStateT :: GHC.Types.TyCon | |
[GblId, | |
Caf=NoCafRefs, | |
Str=DmdType m, | |
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, | |
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] | |
K.$tcStateT = | |
GHC.Types.TyCon | |
5890985703738789954## | |
14127540780153994336## | |
K.$trModule | |
K.$tcStateT1 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE Strict #-} -- Comment/uncommenting this | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
module K where | |
import Control.Monad.Trans | |
import qualified Control.Monad.State.Strict as S | |
import Control.Monad.Primitive | |
newtype StateT s m a = StateT (S.StateT s m a) -- S is Control.Monad.State.Strict | |
deriving (Functor, Applicative, Monad, MonadTrans) | |
instance PrimMonad m => PrimMonad (StateT s m) where | |
type PrimState (StateT s m) = PrimState m | |
primitive ~a = lift (primitive a) ; {-# INLINE primitive #-} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment