I suppose `old` could be more appropriately named `existing` as it is the value of the key in the existing hash accepting the merge, and `new` is the value of the key in the new hash being merged in.  That makes sense to my brain, but I guess `lhs` and `rhs` work just as well, since `lhs` receives the merge--reminds me of an SQL `JOIN`.  I'll change it if you think `lhs` and `rhs` are more clear.