Can any FP wizard here show me how the reverse state monad would work in Kotlin? I can't seem to wrap my head around the laziness needed. I have a version that uses
suspend
and a
Channel
to pass a value "backwards" in time, but I don't trust that it's actually "correct"