this is type piracy, please don’t override Julia’s base function on base type
julia> a ⊗ b = a||b
⊗ (generic function with 1 method)
julia> ⊗(::Missing, ::Bool) = false
⊗ (generic function with 2 methods)
julia> a = missing
missing
julia> (a > 1) ⊗ true
false
This works crecttly, but can not work like the original ||:
a ⊗ b = a||b;
⊗(::Missing, ::Bool) = false
a = missing
true ⊗ (println("function is running"); true)
#true
#function is running"
true || (println("function is running"); true)
#true