merge[!]: allow non-dicts as "others" arguments
The first argument still has to be a dict.
Both `append[!]` and `union[!]` allow arbitrary iterables as "others"
arguments for vectors and sets respectively, and there doesn't seem
to be a particular reason for preventing this for `merge[!]`.