deep merge maps