missing は他の言語の NaN ではない。NaN も他の言語の NaN ではない?
b = NaN
isnan(b) || ismissing(b) # true
isnan(b) | ismissing(b) # true
c = missing
isnan(c) || ismissing(c) # TypeError: non-boolean (Missing) used in boolean context
isnan(c) | ismissing(c) # true
なぜそうなのか
isnan(NaN) # true
isnan(missing) # missing
ismissing(NaN) # false
ismissing(missing) # true
isnan(missing) || ismissing(missing) # TypeError: non-boolean (Missing) used in boolean context
isnan(missing) | ismissing(missing) # true
isnan(missing) は論理値 true/false ではないので論理演算 or すなわち || はできないということ。
ビット演算 | ならできる...謎
isnan(missing) は missing であっても,
isnan(missing) == missing # は missing であって,true ではない