Рассмотрим деление с плавающей запятой, которое я буду называть /
.Совершенно очевидно, что мы хотим, чтобы он имел подпись
function / : float x float -> float
Но мы также хотим (согласно стандарту)
0 / 0 = NaN
Так что NaN
должно быть значением типа float
.