seeing how this really works

This is some immutability in Elixir:

iex> %{first: value} = %{first: 1}
iex> %{first: ^value} = %{first: 2}
** (MatchError) no match of right hand side value: %{first: 2}