Учитывая два возможных входа:
a = %{ inner: %{hello: :world}}
OR
a = %{}
Я хочу объединить b = %{foo: :bar}
в карту, чтобы получить:
%{inner: %{foo: :bar}}
в первом случае или
%{inner: %{hello: :world, foo: :bar}}
во втором.
Я могу решить это с
merged = Map.get(a, :inner, %{})
|> Map.merge(b)
put_in(a, [:inner], merged)
но есть ли лучший встроенный способ? Я думаю, что глубокое слияние должно быть легче, чем это.