I think (merge-with merge A B) may work: 

```clojure 
(merge-with merge {:a {:b 1 :d 2}}
  #_=> {:a {:b 2}})
{:a {:b 2, :d 2}}
```