So JS has promises, Elixir Tasks. Other languages have futures. I consider all of them "a value coming later" and that they can be represented as a monad.
Essentially I think they are all the same thing. Is that the case?
Context is I am interested in making a task library that works on erlang and JS and eventually being able to share references to tasks between client and server.