Using NaN here is basically a classic 'error code'...
# language-proposals
f
Using NaN here is basically a classic 'error code' decision, which is perfectly reasonable if you ensure the caller is aware of it.