Destructing assignment

I think just one small change is required:

defmodule DestructingAssignment do
  defmacro __using__(_) do
    quote do: import unquote(__MODULE__)
  end

  defmacro sigil_m({:<<>>, _line, [string]}, []) do
    spec = string
           |> String.split
           |> Stream.map(&String.to_atom/1)
           |> Enum.map(&{&1, {&1, [], nil}})  #=> [foo: {:foo, [], nil}, bar: {:bar, [], nil}]
    {:%{}, [], spec}
  end
end