How to convert nested property list ( having string keys ) to Elixir nested map?

May I offer an alternative:

def transform([_ | _] = list) do
  Map.new(list, fn
    {k, [{_, _} | _] = v} -> {k, transform(v)}
    {k, {[_ | _] = v}} -> {k, transform(v)}
    {k, v} -> {k, v}
  end)
end