module I18n::Backend::Chain::Implementation

def _deep_merge(hash, other_hash)

to not pollute the namespace of the including class.
it is wise to have our own copy. We underscore it
However since we are not guaranteed to run in an ActiveSupport context
This is approximately what gets used in ActiveSupport.
def _deep_merge(hash, other_hash)
  copy = hash.dup
  other_hash.each_pair do |k,v|
    value_from_other = hash[k]
    copy[k] = value_from_other.is_a?(Hash) && v.is_a?(Hash) ? _deep_merge(value_from_other, v) : v
  end
  copy
end