raceUnlessError = async (possiblyErroring, ...promises) => {
	const race = Promise.race(promises);
	const intermediate = await Promise.race([didNotError(possiblyErroring), race]);
	return intermediate === didNotError ? race : intermediate;
}
Races between `promises` and returns the result, unless `possiblyErroring` rejects first.

`possiblyErroring` may be any value and is ignored, unless it rejects.