Conversation

Yeah I'm actually more interested in the syntax than monads here. I think there's a bunch of value in being more flexible
1
2
To make this flat, among other things. one() |> promise.then(fn (x) { two() |> promise.then(fn (y) { three() |> promise.then(fn (z) { promise.resolve(x + y + z) }) }) })
1
Replying to and
I think Frank might have done this, with the caveat that you had to make explicit the difference between values and computations. I think Unison does away with that distinction but has to deal with some edge cases as a result.
1