A promise that carries a value of type a. A promise is initially empty
but can be awaited asynchronously until it gets resolvestd/async/promise/resolve: forall<a> (p : promise<a>, value : a) -> <async,exn> ()d unblocking any
await operations. After that a promise stays resolved and any await will
return immediately. It is an error to try to resolve a promise more than once.
Await a promise; returns immediately if the promise was already resolved and otherwise waits asynchronously.
Create a new promise.
Resolve a promise to value. Raises an exception if the promise was already resolved.
Returns immediately if the promise was already resolved and otherwise return Nothingstd/core/types/Nothing: forall<a> maybe<a>.
Resolve a promise to value. Returns False if the promise was already resolved.
.