From #68183 (comment):
We have IFloatingPointIeee754.MaxNumber which does propagate the number instead, so maybe it'd be worth moving it down to INumber so devs can do the right thing here...
I'd suspect the NaN pre-loop probably isn't that useful in practice as I'd expect NaNs are actually decently rare; which would allow the impls to then be the same.