How does (or why don't) AND(...) work with/as an array formula function?

How does (or why don't) AND(...) work with/as an array formula function?

Note: Gnumeric and ZOHO Sheet works the same way so there could be a good reason for it.

Say we have two collums with a x and y patttern
x   x
x   y
y   x
y   y

Add the same pattern 3 times to get some data.
Lets say we would like to count the rows containing x in both columns.
I did expect this formula to work:
=SUM(AND($A1:$A12="x"; $B1:$B12="x")*1)
(Finish  with CTRL+SHIFT+ENTER to specify array function).
But it does not and returns 1 rather than 3.

A formla that works is
=SUM(IF($A1:$A12="x"; IF($B1:$B12="x";1;0);0))
This one returns 3 as expected, but it is a lot harder to read and debug (in my eyes).

My understanding of an array function is that the application loops through the function with an element from the specified array ranges in each iteration.

This is what I think goes on. In the case of the formula with the AND expression inside is expanded like this:
=SUM(AND($A1="x"; $A2="x"; $A3="x" ... ... $B10="x"; $B11="x"; $B12="x")*1)
This behavior can be proven by setting all cells to x. Then you get the result 1. But if we change the *1 with another column like this:
=SUM(AND($A1="x"; $A2="x"; $A3="x" ... ... $B10="x"; $B11="x"; $B12="x")*$C1:$C12)
Then you get the same as =SUM($C1:$C12) if all $A1:$B12 cells contain x and 0 if one is y.

In the case of formula containing IF(...) I guessed it to be expanded something like this (where test(arg, arg)=:IF(...)
=SUM(test($A1, $B1);test($A2,$B2); ...; ... ;test($A12, B12))

But if that is the case then wrapping the AND(...) with an IF(...) should work, but t does not..o(

OK, so to wrap it up. I guess I have to use the IF construct without the AND part.
But what is the rationale for AND not to work like I expected (the same way as IF expressions are expanded)?

Is there a better way to achieve what I want (compare content of several columns and act upon rows matching the specified criteria).

Best regards.