You might also use the into parameters…
iex> output = for({k, v} <- input, into: %{}, do: {k, String.upcase(v)})