Wrap a value for the completion of a promise
The value to await (may not actually be a promise, if not returns value with no wrapping)
The value to return
Wrap a value for the completion of a promise