[a: 1, a: 2] is a keyword list and most functions working on keyword lists assume them to have unique keys. The introduction in the documentation for the module Keyword has this to say about duplicate keys:
For example, Keyword.get/3 will get the first entry matching the given key, regardless if duplicated entries exist. Similarly, Keyword.put/3 and Keyword.delete/3 ensure all duplicated entries for a given key are removed when invoked.
A handful of functions exist to handle duplicated keys, in particular, Enum.into/2 allows creating new keywords without removing duplicated keys, get_values/2 returns all values for a given key and delete_first/2 deletes just one of the existing entries.






















