implement Arrays.deepEquals and Objects.deepEquals