export async function getFailurePromise( promise: PromiseLike ): Promise<[failed: true, error: E] | [failed: false, error: undefined]> { try { await promise return [false, void 0] } catch (err) { return [true, err as E] } }