the else clause does not rethrow or return a rejected promise, so the downstream thenable becomes a success, fulfilled with undefined. I am unsure if this is intended.