The answer, as per slack, is that && is not a really a function, but is rather a “core syntax” of the language.
This comes with certain limitations, && cannot be broadcasted. A solution is to use map, or broadcast, i.e.
((x, y) -> (x && y)).(a, b)