Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
a_s2G9 :: State# RealWorld -> (# State# RealWorld, () #)
a_s2G9 =
\ (s_X2pb :: State# RealWorld) ->
let {
a_s2H3
:: forall r_a14o.
([Int], Int)
-> Int
-> forall r_aon.
Int
-> State# RealWorld
-> (# State# RealWorld,
((([Int] -> Int -> r_a14o) -> r_a14o) -> Int -> r_aon) -> r_aon #)
a_s2H3 =
\ (@ r_a14o)
(x_aKU :: ([Int], Int))
(s'_aKV :: Int)
(@ r_Xqf)
(eta_B2 :: Int)
(eta_X1V :: State# RealWorld) ->
let {
x_XPu :: [Int]
x_XPu = case x_aKU of _ { (x_a29J, ds1_a29K) -> x_a29J } } in
let {
x_aKN :: ([Int] -> Int -> r_a14o) -> r_a14o
x_aKN =
\ (f_aKP :: [Int] -> Int -> r_a14o) -> f_aKP x_XPu s'_aKV } in
(# eta_X1V,
\ (f_aKP
:: (([Int] -> Int -> r_a14o) -> r_a14o) -> Int -> r_Xqf) ->
f_aKP x_aKN eta_B2 #) } in
let {
ds_X2cN
:: StateT
Int
(StateT Int (StateT Int IO))
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
ds_X2cN =
letrec {
a_s2GP
:: [StateT Int (StateT Int (StateT Int (StateT Int IO))) Int]
-> forall r_Xr1.
Int
-> StateT
Int (StateT Int (StateT Int IO)) (([Int] -> Int -> r_Xr1) -> r_Xr1)
a_s2GP =
\ (ds_X2ln
:: [StateT Int (StateT Int (StateT Int (StateT Int IO))) Int])
(@ r_Xr1)
(eta_X2G :: Int) ->
case ds_X2ln of _ {
[] ->
(\ (@ r_Xoo)
(eta_B4 :: Int)
(@ r_Xop)
(eta_B3 :: Int)
(@ r_Xoq)
(eta_B2 :: Int)
(eta_X8 :: State# RealWorld) ->
let {
x_XPz :: ([Int] -> Int -> r_Xr1) -> r_Xr1
x_XPz =
\ (f_aKP :: [Int] -> Int -> r_Xr1) -> f_aKP ([] @ Int) eta_X2G } in
let {
x_XPE
:: ((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo) -> r_Xoo
x_XPE =
\ (f_aKP :: (([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo) ->
f_aKP x_XPz eta_B4 } in
let {
x_aKN
:: ((((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo) -> r_Xoo)
-> Int -> r_Xop)
-> r_Xop
x_aKN =
\ (f_aKP
:: (((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo) -> r_Xoo)
-> Int -> r_Xop) ->
f_aKP x_XPE eta_B3 } in
(# eta_X8,
\ (f_aKP
:: (((((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop)
-> Int -> r_Xoq) ->
f_aKP x_aKN eta_B2 #))
`cast` ((forall r_Xoo.
<Int>_R
-> (forall r_Xop.
<Int>_R
-> (forall r_Xoq.
<Int>_R
-> Sym
(NTCo:IO[0]
<((((((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop)
-> Int -> r_Xoq)
-> r_Xoq>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<((((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo)
-> r_Xoo>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<([Int] -> Int -> r_Xr1) -> r_Xr1>_N)
:: (forall r_Xoo.
Int
-> forall r_Xop.
Int
-> forall r_Xoq.
Int
-> State# RealWorld
-> (# State# RealWorld,
((((((([Int] -> Int -> r_Xr1) -> r_Xr1) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop)
-> Int -> r_Xoq)
-> r_Xoq #))
~R# StateT
Int
(StateT Int (StateT Int IO))
(([Int] -> Int -> r_Xr1) -> r_Xr1));
: y_a2jz ys_a2jA ->
a_s2ll
@ Int
@ (StateT Int (StateT Int (StateT Int IO)))
$dMonad_a16X
@ [Int]
@ [Int]
((\ (@ r_Xr8) (eta_X2N :: Int) ->
let {
a_s2GN
:: forall r_a14o.
Int
-> Int
-> forall r_Xre.
Int
-> forall r_Xoo.
Int
-> forall r_Xop.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((((([Int] -> [Int]) -> Int -> r_a14o) -> r_a14o)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop #)
a_s2GN =
\ (@ r_X17e)
(x_XNL :: Int)
(s'_XNN :: Int)
(@ r_Xre)
(eta_B4 :: Int)
(@ r_Xoo)
(eta_B3 :: Int)
(@ r_Xop)
(eta_B2 :: Int)
(eta_X2Y :: State# RealWorld) ->
let {
x_XPN :: [Int] -> [Int]
x_XPN = : @ Int x_XNL } in
let {
x_XPQ :: (([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e
x_XPQ =
\ (f_aKP :: ([Int] -> [Int]) -> Int -> r_X17e) ->
f_aKP x_XPN s'_XNN } in
let {
x_XPV
:: (((([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e)
-> Int -> r_Xre)
-> r_Xre
x_XPV =
\ (f_aKP
:: ((([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e)
-> Int -> r_Xre) ->
f_aKP x_XPQ eta_B4 } in
let {
x_aKN
:: (((((([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo
x_aKN =
\ (f_aKP
:: ((((([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo) ->
f_aKP x_XPV eta_B3 } in
(# eta_X2Y,
\ (f_aKP
:: ((((((([Int] -> [Int]) -> Int -> r_X17e) -> r_X17e)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop) ->
f_aKP x_aKN eta_B2 #) } in
let {
ds_X2dj
:: StateT
Int
(StateT Int (StateT Int IO))
((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
ds_X2dj =
(y_a2jz
`cast` (Cont8.NTCo:StateT[0]
<Int>_N <StateT Int (StateT Int (StateT Int IO))>_R <Int>_N
:: StateT Int (StateT Int (StateT Int (StateT Int IO))) Int
~R# (forall r_aon.
Int
-> StateT
Int
(StateT Int (StateT Int IO))
((Int -> Int -> r_aon) -> r_aon))))
@ (StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
eta_X2N } in
(\ (@ r_Xrh) (eta_X2W :: Int) ->
let {
lvl_X2mU
:: forall r_X17m.
((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_X17m)
-> r_X17m)
lvl_X2mU =
\ (@ r_X17n)
(x_XNU
:: (Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
(s'_XNW :: Int) ->
((x_XNU
((a_s2GN @ r_Xr8)
`cast` (<Int>_R
-> <Int>_R
-> (forall r_Xre.
<Int>_R
-> (forall r_Xoo.
<Int>_R
-> (forall r_Xop.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xre)
-> r_Xre>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<(([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8>_N)
:: (Int
-> Int
-> forall r_Xre.
Int
-> forall r_Xoo.
Int
-> forall r_Xop.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xre)
-> r_Xre)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop #))
~R# (Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)))))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<(([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8>_N
:: StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
~R# (forall r_aon.
Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_aon)
-> r_aon))))
@ r_X17n s'_XNW } in
let {
ds_X2ds
:: StateT
Int
(StateT Int IO)
((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
ds_X2ds =
(ds_X2dj
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<(Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)>_N
:: StateT
Int
(StateT Int (StateT Int IO))
((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
~R# (forall r_aon.
Int
-> StateT
Int
(StateT Int IO)
((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int -> r_aon)
-> r_aon))))
@ (StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
eta_X2W } in
(\ (@ r_Xrq) (eta_X35 :: Int) ->
let {
lvl_X2n3
:: forall r_X17u.
((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_X17u)
-> r_X17u)
lvl_X2n3 =
\ (@ r_X17v)
(x_XO2
:: (((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
(s'_XO4 :: Int) ->
((x_XO2 (lvl_X2mU @ r_Xrh))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh>_N
:: StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
~R# (forall r_aon.
Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_aon)
-> r_aon))))
@ r_X17v s'_XO4 } in
let {
ds_X2bt
:: StateT
Int
IO
((((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
ds_X2bt =
(ds_X2ds
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)>_N
:: StateT
Int
(StateT Int IO)
((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
~R# (forall r_aon.
Int
-> StateT
Int
IO
((((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int -> r_aon)
-> r_aon))))
@ (StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
eta_X35 } in
(\ (@ r_Xry) (eta_B2 :: Int) (eta_X3e :: State# RealWorld) ->
case (((ds_X2bt
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)>_N
:: StateT
Int
IO
((((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
~R# (forall r_aon.
Int
-> IO
((((((((Int
-> Int
-> StateT
Int
(StateT
Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT
Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> Int -> r_aon)
-> r_aon))))
@ (IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry))
eta_B2)
`cast` (NTCo:IO[0]
<(((((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> Int
-> IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry))
-> IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry)>_R
:: IO
((((((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> Int
-> IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry))
-> IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry))
~R# (State# RealWorld
-> (# State# RealWorld,
(((((((Int
-> Int
-> StateT
Int
(StateT
Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> Int
-> IO
((((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry))
-> IO
((((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry) #))))
eta_X3e
of _ { (# ipv_a2kV, ipv1_a2kW #) ->
((ipv1_a2kW
(\ (x_XOd
:: (((((Int
-> Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8))
-> Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh))
-> Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq))
(s'_XOf :: Int) ->
((x_XOd (lvl_X2n3 @ r_Xrq))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq>_N
:: StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
~R# (forall r_aon.
Int
-> IO
((((((((([Int] -> [Int])
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_aon)
-> r_aon))))
@ r_Xry s'_XOf))
`cast` (NTCo:IO[0]
<(((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry>_R
:: IO
((((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry)
~R# (State# RealWorld
-> (# State# RealWorld,
(((((((([Int] -> [Int]) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xry)
-> r_Xry #))))
ipv_a2kV
})
`cast` ((forall r_Xrx.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xrx)
-> r_Xrx>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq>_N)
:: (forall r_Xrx.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)
-> Int -> r_Xrx)
-> r_Xrx #))
~R# StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_Xrq)
-> r_Xrq)))
`cast` (Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh>_N)
:: (forall r_aon.
Int
-> StateT
Int
IO
((((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)
-> Int -> r_aon)
-> r_aon))
~R# StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrh)
-> r_Xrh)))
`cast` (Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<(([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8>_N)
:: (forall r_aon.
Int
-> StateT
Int
(StateT Int IO)
((((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_aon)
-> r_aon))
~R# StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_Xr8) -> r_Xr8)))
`cast` (Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int (StateT Int IO))>_R
<[Int] -> [Int]>_N)
:: (forall r_aon.
Int
-> StateT
Int
(StateT Int (StateT Int IO))
((([Int] -> [Int]) -> Int -> r_aon) -> r_aon))
~R# StateT
Int
(StateT Int (StateT Int (StateT Int IO)))
([Int] -> [Int])))
((a_s2GP ys_a2jA)
`cast` (Sym
(Cont8.NTCo:StateT[0]
<Int>_N <StateT Int (StateT Int (StateT Int IO))>_R <[Int]>_N)
:: (forall r_aon.
Int
-> StateT
Int
(StateT Int (StateT Int IO))
(([Int] -> Int -> r_aon) -> r_aon))
~R# StateT Int (StateT Int (StateT Int (StateT Int IO))) [Int]))
@ r_Xr1
eta_X2G
}; } in
a_s2GP
(build
@ (StateT Int (StateT Int (StateT Int (StateT Int IO))) Int)
(\ (@ b_a28K)
(c_a28L
:: StateT Int (StateT Int (StateT Int (StateT Int IO))) Int
-> b_a28K -> b_a28K)
(nil_a28M :: b_a28K) ->
repeatFB
@ (StateT Int (StateT Int (StateT Int (StateT Int IO))) Int)
@ (Int -> b_a28K)
(takeFB
@ (StateT Int (StateT Int (StateT Int (StateT Int IO))) Int)
@ b_a28K
c_a28L
nil_a28M)
((\ (@ r_Xtg)
(eta_X4V :: Int)
(@ r_Xr8)
(eta_B4 :: Int)
(@ r_Xoo)
(eta_B3 :: Int)
(@ r_Xop)
(eta_B2 :: Int)
(eta_X2S :: State# RealWorld) ->
case eta_X4V of _ { I# x_a2am ->
let {
ipv_s2ij :: Int#
ipv_s2ij = +# x_a2am 1# } in
let {
s_XxC :: Int
s_XxC = I# ipv_s2ij } in
((((((\ (@ r_Xrm)
(eta_X32 :: Int)
(@ r_Xrp)
(eta_X33 :: Int)
(eta_X65 :: State# RealWorld) ->
let {
x_XPJ :: (Int -> Int -> r_Xtg) -> r_Xtg
x_XPJ = \ (f_axw :: Int -> Int -> r_Xtg) -> f_axw s_XxC s_XxC } in
let {
x_XPO
:: (((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8) -> r_Xr8
x_XPO =
\ (f_aKP :: ((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8) ->
f_aKP x_XPJ eta_B4 } in
let {
x_aKN
:: (((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xrm)
-> r_Xrm
x_aKN =
\ (f_aKP
:: ((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrm) ->
f_aKP x_XPO eta_X32 } in
(# eta_X65,
\ (f_aKP
:: ((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrm)
-> r_Xrm)
-> Int -> r_Xrp) ->
f_aKP x_aKN eta_X33 #))
`cast` (Nth:1
((forall r_Xrj.
<Int>_R
-> (forall r_Xrm.
<Int>_R
-> (forall r_Xrp.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xrj)
-> r_Xrj)
-> Int -> r_Xrm)
-> r_Xrm)
-> Int -> r_Xrp)
-> r_Xrp>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xrj)
-> r_Xrj)
-> Int -> r_Xrm)
-> r_Xrm>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xrj)
-> r_Xrj>_N))@r_Xr8)
; Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8>_N
:: (forall r_Xrm.
Int
-> forall r_Xrp.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xrm)
-> r_Xrm)
-> Int -> r_Xrp)
-> r_Xrp #))
~R# (forall r_aon.
Int
-> StateT
Int
IO
((((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_aon)
-> r_aon))))
@ r_Xoo eta_B3)
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo>_N
:: StateT
Int
IO
((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
~R# (forall r_aon.
Int
-> IO
((((((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_aon)
-> r_aon))))
@ r_Xop eta_B2)
`cast` (NTCo:IO[0]
<(((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8) -> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop>_R
:: IO
((((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop)
~R# (State# RealWorld
-> (# State# RealWorld,
(((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop #))))
eta_X2S
})
`cast` ((forall r_Xtg.
<Int>_R
-> (forall r_Xr8.
<Int>_R
-> (forall r_Xoo.
<Int>_R
-> (forall r_Xop.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((((((Int -> Int -> r_Xtg) -> r_Xtg)
-> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<(Int -> Int -> r_Xtg) -> r_Xtg>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <StateT Int (StateT Int (StateT Int IO))>_R <Int>_N)
:: (forall r_Xtg.
Int
-> forall r_Xr8.
Int
-> forall r_Xoo.
Int
-> forall r_Xop.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((((Int -> Int -> r_Xtg) -> r_Xtg) -> Int -> r_Xr8)
-> r_Xr8)
-> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xop)
-> r_Xop #))
~R# StateT Int (StateT Int (StateT Int (StateT Int IO))) Int))
(I# 1000#)))
@ ([Int], Int)
(I# 0#) } in
let {
a_s2GW
:: forall r_a14o.
([Int], Int)
-> Int
-> forall r_Xoo.
Int
-> forall r_aon.
Int
-> State# RealWorld
-> (# State# RealWorld,
((((([Int] -> Int -> r_a14o) -> r_a14o) -> Int -> r_Xoo) -> r_Xoo)
-> Int -> r_aon)
-> r_aon #)
a_s2GW =
\ (@ r_X18W)
(x_XNA :: ([Int], Int))
(s'_XNC :: Int)
(@ r_Xoo)
(eta_X4g :: Int)
(@ r_Xql)
(eta_B2 :: Int)
(eta_X21 :: State# RealWorld) ->
let {
x_XPF :: [Int]
x_XPF = case x_XNA of _ { (x_a29J, ds1_a29K) -> x_a29J } } in
let {
x_XR8 :: ([Int] -> Int -> r_X18W) -> r_X18W
x_XR8 =
\ (f_aKP :: [Int] -> Int -> r_X18W) -> f_aKP x_XPF s'_XNC } in
let {
x_aKN
:: ((([Int] -> Int -> r_X18W) -> r_X18W) -> Int -> r_Xoo) -> r_Xoo
x_aKN =
\ (f_aKP
:: (([Int] -> Int -> r_X18W) -> r_X18W) -> Int -> r_Xoo) ->
f_aKP x_XR8 eta_X4g } in
(# eta_X21,
\ (f_aKP
:: (((([Int] -> Int -> r_X18W) -> r_X18W) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xql) ->
f_aKP x_aKN eta_B2 #) } in
let {
a_s2mC
:: forall r_a14o.
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> forall r_Xoo.
Int
-> StateT
Int
IO
((((([Int], Int) -> Int -> r_a14o) -> r_a14o) -> Int -> r_Xoo)
-> r_Xoo)
a_s2mC =
\ (@ r_X19K)
(x_XNB :: ([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
(s'_XND :: Int) ->
let {
x_XRm :: ([Int], Int)
x_XRm = x_XNB ((,) @ [Int] @ Int) } in
(\ (@ r_Xoo)
(eta_X3 :: Int)
(@ r_Xr7)
(eta_B2 :: Int)
(eta_X2N :: State# RealWorld) ->
let {
x_XRr :: (([Int], Int) -> Int -> r_X19K) -> r_X19K
x_XRr =
\ (f_aKP :: ([Int], Int) -> Int -> r_X19K) ->
f_aKP x_XRm s'_XND } in
let {
x_aKN
:: (((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo
x_aKN =
\ (f_aKP
:: ((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo) ->
f_aKP x_XRr eta_X3 } in
(# eta_X2N,
\ (f_aKP
:: ((((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xr7) ->
f_aKP x_aKN eta_B2 #))
`cast` (forall r_Xoo.
<Int>_R
-> (forall r_Xr7.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xr7)
-> r_Xr7>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo>_N)
:: (forall r_Xoo.
Int
-> forall r_Xr7.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo)
-> Int -> r_Xr7)
-> r_Xr7 #))
~R# (forall r_Xoo.
Int
-> StateT
Int
IO
((((([Int], Int) -> Int -> r_X19K) -> r_X19K) -> Int -> r_Xoo)
-> r_Xoo))) } in
let {
ds_X2cZ
:: StateT
Int
(StateT Int IO)
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
ds_X2cZ =
(ds_X2cN
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int (StateT Int IO)>_R
<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_N
:: StateT
Int
(StateT Int (StateT Int IO))
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
~R# (forall r_aon.
Int
-> StateT
Int
(StateT Int IO)
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int)) -> Int -> r_aon)
-> r_aon))))
@ (StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
(I# 0#) } in
let {
lvl_X2mI
:: forall r_a14o.
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int -> StateT Int IO ((([Int], Int) -> Int -> r_a14o) -> r_a14o)
lvl_X2mI =
\ (@ r_X17b)
(x_XNI :: ([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
(s'_XPP :: Int) ->
let {
x_XRk :: ([Int], Int)
x_XRk = x_XNI ((,) @ [Int] @ Int) } in
let {
x_aKN :: (([Int], Int) -> Int -> r_X17b) -> r_X17b
x_aKN =
\ (f_aKP :: ([Int], Int) -> Int -> r_X17b) ->
f_aKP x_XRk s'_XPP } in
(\ (@ r_X17i) (s_XMZ :: Int) (s_a2kN :: State# RealWorld) ->
(# s_a2kN,
\ (f_aKP
:: ((([Int], Int) -> Int -> r_X17b) -> r_X17b) -> Int -> r_X17i) ->
f_aKP x_aKN s_XMZ #))
`cast` ((forall r_X17i.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((([Int], Int) -> Int -> r_X17b) -> r_X17b) -> Int -> r_X17i)
-> r_X17i>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <(([Int], Int) -> Int -> r_X17b) -> r_X17b>_N)
:: (forall r_X17i.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((([Int], Int) -> Int -> r_X17b) -> r_X17b) -> Int -> r_X17i)
-> r_X17i #))
~R# StateT Int IO ((([Int], Int) -> Int -> r_X17b) -> r_X17b)) } in
let {
lvl_X2og
:: forall r_X18G.
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int -> r_X18G)
-> r_X18G)
lvl_X2og =
\ (@ r_X18H)
(x_XPe
:: (([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
(s'_XPg :: Int) ->
((x_XPe
((a_s2GW @ ([Int], Int))
`cast` (<([Int], Int)>_R
-> <Int>_R
-> (forall r_Xrg.
<Int>_R
-> (forall r_Xqx.
<Int>_R
-> Sym
(NTCo:IO[0]
<((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int -> r_Xrg)
-> r_Xrg)
-> Int -> r_Xqx)
-> r_Xqx>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int -> r_Xrg)
-> r_Xrg>_N))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_N)
:: (([Int], Int)
-> Int
-> forall r_Xrg.
Int
-> forall r_Xqx.
Int
-> State# RealWorld
-> (# State# RealWorld,
((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int -> r_Xrg)
-> r_Xrg)
-> Int -> r_Xqx)
-> r_Xqx #))
~R# (([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_N
:: StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
~R# (forall r_aon.
Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int)) -> Int -> r_aon)
-> r_aon))))
@ r_X18H s'_XPg } in
let {
lvl_X2oF
:: forall r_a14o.
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int -> r_a14o)
-> r_a14o)
lvl_X2oF =
\ (@ r_X195)
(x_XPC
:: ((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
(s'_XPE :: Int) ->
((x_XPC
((a_s2mC
@ (StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
`cast` (<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_R
-> <Int>_R
-> Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))>_N)
:: ((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> forall r_aon.
Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int -> r_aon)
-> r_aon))
~R# ((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))))))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<(([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))>_N
:: StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
~R# (forall r_aon.
Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int -> r_aon)
-> r_aon))))
@ r_X195 s'_XPE } in
let {
ds_X2b6
:: StateT
Int
IO
(((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))))
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))))
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))))
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))))
ds_X2b6 =
(ds_X2cZ
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<StateT Int IO>_R
<((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))>_N
:: StateT
Int
(StateT Int IO)
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
~R# (forall r_aon.
Int
-> StateT
Int
IO
(((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> Int -> r_aon)
-> r_aon))))
@ (StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))))
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))))
(I# 0#) } in
case ((((\ (@ r_Xrb)
(eta_B2 :: Int)
(eta_X2R :: State# RealWorld) ->
case (((ds_X2b6
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))))
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))))
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))))
-> StateT
Int
IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))
-> StateT
Int
IO
((([Int], Int)
-> Int
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
IO
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))))>_N
:: StateT
Int
IO
(((((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int))))
-> StateT
Int
(StateT Int IO)
((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> Int
-> StateT
Int
IO
((((([Int], Int)
-> Int
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int))
-> ([Int], Int)))
-> StateT
Int
(StateT Int IO)
(([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> Int
-> StateT
Int