thank you, that was the answer i was looking for. i didn't understand why at first, but while writing to explain how i don't understand why the semantics are different, i realized that for OR(a, b) both a AND be must be evaluated, but for (a||b) this is not the case.
now, anyone have a suggestion how to solve an equivalent of: `|(@array(int)) with array(mixed)? i could write a helper function, but maybe there is a neat shortcut somewhere.
greetings, martin.