here is a tl;dr
I come from a C++ background. && is suppose to check if left side is true and right side is true. what does & have anything to do with th
If x == false, then x && y will be always false -> no need to see value of y. If x == true, then x & y happens. This gives you optimized logic operations.
x == false
x && y
false
y
x == true
x & y
For int it will be something like: T.false(x == true) ? x : T.&(x == true, y == true)
int
T.false(x == true) ? x : T.&(x == true, y == true)