let array_for_all2 (_func: 'a -> 'b -> bool) (_array1: 'a array) (_array2: 'b array) : bool =
let rec do_at (index: int) : bool =
if index >= Array.length _array1 then begin
true
end
else begin
_func _array1.(index) _array2.(index)
&&
do_at (index + 1)
end
in
Array.length _array1 == Array.length _array2
&&
do_at 0