def promise.join(*args) -> promise
Join a set of promises together into a single promise.
Given a series of promises,
p4 = p1.join(p2, p3) will produce a promise
where the value is promise that resolves to a tuple containing the three values,
def promise.map(func, /) -> promise
Given a promise, apply a function to the value it contains, producing a promise with the resulting value.