public static <T> boolean equalDeep(T[] a1, T[] a2) {
		if (a1 == null) return a2 == null;
		if (a2 == null) return false;
		if (a1.length != a2.length) return false;
		for (int i = 0; i < a1.length; ++i) if (!Calc.equal(a1[i], a2[i])) return false; 
		return true;
	}