The issue is that we don't have a update/3 function. So should we add Map.update/3, Keyword.update/3 as well as Keyword.update_values/3?
The issue though is that I don't fully recall which semantics we wanted for Keyword.update/3. Does it return a data structure? Or does it return :ok/:error? What happens if the value does not exist in the data-structure? Do we invoke the function with nil, mirroring get_and_update, or we don't invoke the anonymous function at all?
How does our choice mirror other functions such as Keyword.update/4 and Keyword.update!/3?