Most efficient way to retrieve multiple values from nested map

The pattern matching is not useful only for validation, but also for assigning variables. Simplest example:

iex> %{a: a} = %{a: 5}
%{a: 5}
iex> a
5

What @benwilson512 suggested is to do exactly same for nested structures, for example:

iex> %{nested: %{a: a}, b: b} = %{nested: %{a: 5}, b: 10}
%{nested: %{a: 5}, b: 10}
iex> %{a: a, b: b}
%{a: 5, b: 10}

However since you said that you have many cases for this and they could be even more complicated, the pattern matching here for just a single data structure would take lots of lines. For me it looks much worse comparing to usage of a simple info variable in my example.