module std/core/delayedstd/core/delayed
import std/core/typesstd/core/types
import std/core/hndstd/core/hnd
import std/core/unsafestd/core/unsafe
reference type computationstd/core/delayed/computation: (E, V) -> V<ee: E, aa: V>
con XComputationstd/core/delayed/XComputation: forall<e,a> (action : () -> e a) -> computation<e,a>( action : () -> ee: E aa: V )
con XDonestd/core/delayed/XDone: forall<e,a> (value : a) -> computation<e,a>( value : aa: V )
con XBlockingstd/core/delayed/XBlocking: forall<e,a> computation<e,a>
abstract value type delayedstd/core/delayed/delayed: (E, V) -> V<ee: E,aa: V>
con XDelaystd/core/delayed/XDelay: forall<e,a> (dref : ref<global,computation<e,a>>) -> delayed<e,a>( drefstd/core/delayed/delayed/dref: forall<e,a> (delayed : delayed<e,a>) -> ref<global,computation<e,a>> : refstd/core/types/ref: (H, V) -> V<globalstd/core/types/global: H,computationstd/core/delayed/computation: (E, V) -> V<ee: E,aa: V>> )
pub fun delaystd/core/delayed/delay: forall<a,e> (action : () -> e a) -> delayed<e,a>( actionaction: () -> $264 $263 : () -> ee: E aa: V )result: -> total delayed<319,318> : delayedstd/core/delayed/delayed: (E, V) -> V<ee: E,aa: V>
unsafe-totalstd/core/unsafe/unsafe-total: (action : () -> <alloc<global>|_283> delayed<$264,$263>) -> delayed<$264,$263>
val rr: ref<global,computation<$264,$263>> : refstd/core/types/ref: (H, V) -> V<globalstd/core/types/global: H,computationstd/core/delayed/computation: (E, V) -> V<__w-l33-c36: E,__w-l33-c38: V>> = refstd/core/types/ref: (value : computation<$264,$263>) -> <alloc<global>|_283> ref<global,computation<$264,$263>>(XComputationstd/core/delayed/XComputation: forall<e,a> (action : () -> e a) -> computation<e,a>(actionaction: () -> $264 $263))
XDelaystd/core/delayed/XDelay: forall<e,a> (dref : ref<global,computation<e,a>>) -> delayed<e,a>(rr: ref<global,computation<$264,$263>>)
pub fun memostd/core/delayed/memo: forall<a,e> (value : a) -> delayed<e,a>( valuevalue: $327 : aa: V )result: -> total delayed<383,382> : delayedstd/core/delayed/delayed: (E, V) -> V<ee: E, aa: V>
unsafe-totalstd/core/unsafe/unsafe-total: (action : () -> <alloc<global>|_347> delayed<$328,$327>) -> delayed<$328,$327>
val rr: ref<global,computation<$328,$327>> : refstd/core/types/ref: (H, V) -> V<globalstd/core/types/global: H,computationstd/core/delayed/computation: (E, V) -> V<__w-l39-c36: E,__w-l39-c38: V>> = refstd/core/types/ref: (value : computation<$328,$327>) -> <alloc<global>|_347> ref<global,computation<$328,$327>>(XDonestd/core/delayed/XDone: forall<e,a> (value : a) -> computation<e,a>(valuevalue: $327))
XDelaystd/core/delayed/XDelay: forall<e,a> (dref : ref<global,computation<e,a>>) -> delayed<e,a>(rr: ref<global,computation<$328,$327>>)
pub fun force/gostd/core/delayed/force/go: forall<a,e> (delayed : delayed<e,a>) -> <st<global>,div|e> a( delayeddelayed: delayed<$392,$391> : delayedstd/core/delayed/delayed: (E, V) -> V<ee: E,aa: V> )result: -> <div,read<global>,write<global>,alloc<global>|531> 530 : <divstd/core/types/div: X,readstd/core/types/read: H -> X<globalstd/core/types/global: H>,writestd/core/types/write: H -> X<globalstd/core/types/global: H>,allocstd/core/types/alloc: H -> X<globalstd/core/types/global: H>|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V
val rr: ref<global,computation<$392,$391>> = delayeddelayed: delayed<$392,$391>.drefstd/core/delayed/delayed/dref: (delayed : delayed<$392,$391>) -> <st<global>,div|$392> ref<global,computation<$392,$391>>
match !std/core/types/ref/(!): (ref : ref<global,computation<$392,$391>>, @implicit/hdiv : hdiv<global,computation<$392,$391>,<alloc<global>,div,write<global>|$392>>) -> <st<global>,div|$392> computation<$392,$391>
?hdiv=iev@412rr: ref<global,computation<$392,$391>>
XDonestd/core/delayed/XDone: forall<e,a> (value : a) -> computation<e,a>(xx: $391) -> xx: $391
XBlockingstd/core/delayed/XBlocking: forall<e,a> computation<e,a> -> delayeddelayed: delayed<$392,$391>.gostd/core/delayed/force/go: (delayed : delayed<$392,$391>) -> <st<global>,div|$392> $391()
XComputationstd/core/delayed/XComputation: forall<e,a> (action : () -> e a) -> computation<e,a>(actionaction: () -> $392 $391) ->
rr: ref<global,computation<$392,$391>> :=std/core/types/set: (ref : ref<global,computation<$392,$391>>, assigned : computation<$392,$391>) -> <st<global>,div|$392> () XBlockingstd/core/delayed/XBlocking: forall<e,a> computation<e,a> val xx: $391 = mask-ststd/core/types/mask-st: (action : () -> <div|$392> $391) -> <st<global>,div|$392> (() -> <st<global>,div|$392> $391){ mask<divstd/core/types/div: X>(actionaction: () -> $392 $391) }()
rr: ref<global,computation<$392,$391>> :=std/core/types/set: (ref : ref<global,computation<$392,$391>>, assigned : computation<$392,$391>) -> <alloc<_479>,div,read<_479>,write<global>|$392> () XDonestd/core/delayed/XDone: forall<e,a> (value : a) -> computation<e,a>(xx: $391)
xx: $391
fun unsafe-no-state-divstd/core/delayed/unsafe-no-state-div: forall<a,e> (f : () -> <st<global>,div|e> a) -> e a(ff: () -> <st<global>,div|$583> $582 : () -> <ststd/core/types/st: H -> E<globalstd/core/types/global: H>,divstd/core/types/div: X|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V)result: -> 606 605: ee: E aa: V
unsafe-no-state-div-caststd/core/delayed/unsafe-no-state-div-cast: (f : () -> <st<global>,div|$583> $582) -> $583 (() -> $583 $582)(ff: () -> <st<global>,div|$583> $582)()
extern unsafe-no-state-div-caststd/core/delayed/unsafe-no-state-div-cast: forall<a,e> (f : () -> <st<global>,div|e> a) -> (() -> e a)(ff: () -> <st<global>,div|$551> $550 : () -> <ststd/core/types/st: H -> E<globalstd/core/types/global: H>,divstd/core/types/div: X|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V): ((std/core/types/total: E) -> ee: E aa: V)
inline "#1"
pub fun forcestd/core/delayed/force: forall<a,e> (delayed : delayed<e,a>) -> e a( delayeddelayed: delayed<$614,$613> : delayedstd/core/delayed/delayed: (E, V) -> V<ee: E,aa: V> )result: -> 643 642 : ee: E aa: V
unsafe-no-state-divstd/core/delayed/unsafe-no-state-div: (f : () -> <st<global>,div|$614> $613) -> $614 $613
force/gostd/core/delayed/force/go: (delayed : delayed<$614,$613>) -> <st<global>,div|$614> $613(delayeddelayed: delayed<$614,$613>)
pub fun oncestd/core/delayed/once: forall<a> (calc : () -> a) -> (() -> a)( calccalc: () -> $650 : () -> astd/core/types/total: E )result: -> total () -> 754 : ((std/core/types/total: E) -> astd/core/types/total: E)
unsafe-totalstd/core/unsafe/unsafe-total: (action : () -> <alloc<_669>|_670> (() -> $650)) -> (() -> $650)
val rr: ref<_669,maybe<$650>> = refstd/core/types/ref: (value : maybe<$650>) -> <alloc<_669>|_670> ref<_669,maybe<$650>>(Nothingstd/core/types/Nothing: forall<a> maybe<a>)
returnreturn: () -> $650 fnfn: () -> $650()
unsafe-totalstd/core/unsafe/unsafe-total: (action : () -> <div,read<_669>,write<_669>|_747> $650) -> $650
match !std/core/types/ref/(!): (ref : ref<_669,maybe<$650>>, @implicit/hdiv : hdiv<_669,maybe<$650>,<write<_669>,div|_747>>) -> <div,read<_669>,write<_669>|_747> maybe<$650>
?hdiv=iev@693rr: ref<_669,maybe<$650>>
Juststd/core/types/Just: forall<a> (value : a) -> maybe<a>(xx: $650) -> xx: $650
Nothingstd/core/types/Nothing: forall<a> maybe<a> ->
val xx: $650 = calccalc: () -> <div,read<_669>,write<_669>|_747> $650()
rr: ref<_669,maybe<$650>> :=std/core/types/set: (ref : ref<_669,maybe<$650>>, assigned : maybe<$650>) -> <div,read<_669>,write<_669>|_747> () Juststd/core/types/Just: forall<a> (value : a) -> maybe<a>(xx: $650)
xx: $650