def deep_merge(new_h)
      merge(new_h) do |_, ov, nv|
        if ov.respond_to?(:deep_merge) && nv.respond_to?(:deep_merge)
          then ov.deep_merge(
            nv
          )

        else
          nv
        end
      end
    end
def deep_merge(new_h)
      merge(new_h) do |_, ov, nv|
        if ov.respond_to?(:deep_merge) && nv.respond_to?(:deep_merge)
          then ov.deep_merge(
            nv
          )

        else
          nv
        end
      end
    end
------------------------------------------------------------------------
 Merge hash into hash into hash into hash.
 ------------------------------------------------------------------------