"bitwise and" vs "short-circuiting and", the dot version, which one should be used?

This applies to three valued logic imho. missing will error when you want to branch, so you would have to do some fixing than.

Maybe * is more explicit in this case (could be taste).

julia> x = [true, false, missing]; y = [true, true, true];

julia> x .* y
3-element Vector{Union{Missing, Bool}}:
  true
 false
      missing

v1.9.0, not checked on older versions.