function rejectedSyncPromise(reason) {
  return new SyncPromise((_, reject) => {
    reject(reason);
  });
}
Thenable class that behaves like a Promise and follows it's interface
but is not async internally