public static function anyOrRace($value, callable $filter, $message)
{
$value = YieldableUtils::normalize($value);
$yieldables = YieldableUtils::getYieldables($value);
$wrapper = self::getWrapperGenerator($yieldables, $filter);
try {
$results = (yield $wrapper);
} catch (ControlException $e) {
(yield CoInterface::RETURN_WITH => $e->getValue());
}
$apply = YieldableUtils::getApplier($value, $yieldables);
throw new AllFailedException($message, 0, $apply($results));
}