Better dict merge