async function foo() {
  return 42;
}
test nested-promise unwrapping.
Note: currently we don't do this properly in the underlying
type of the Promise class, which causes spurious errors to
be raised here. Once that's fixed, the errors here will go
away.