Is `then` a free function or can it rely on being called on `promise`? That is, are the following invocations equivalent? `promise.then()` versus `(promise.then)()`.