Separe profundidade e tratamento de arrays
O modo superficial reúne campos da raiz, mas escolhe cada objeto interno em colisão por inteiro. Arrays correspondentes ainda podem ser substituídos, concatenados ou combinados por chave. O modo profundo percorre objetos; a estratégia dos arrays permanece independente.