Update elements of a named list with elements of a second named list

Merge two named list based on their named entries.
Where any element matches in both lists, the value from the second list is
used in the updated list.
Subelements are not examined and are simply replaced. If one list is empty,
then it returns the other one, unchanged.