faz merge recursivo de vários objetos, inclusive com referencia circular