module WolfCore::HashUtils

def deep_to_h(hash)

def deep_to_h(hash)
  hash.transform_values do |value|
    if value.is_a?(Hash)
      deep_to_h(value)
    elsif value.is_a?(Array)
      value.map { |v| deep_to_h(v) }
    elsif value.respond_to?(:to_h) && !value.is_a?(Hash)
      deep_to_h(value.to_h)
    else
      value
    end
  end
end