class Dry::Types::Hash::Symbolized

{Symbolized} hash will turn string key names into symbols.

def hash_type

def hash_type
  :symbolized
end

def resolve(hash)

def resolve(hash)
  result = {}
  member_types.each do |key, type|
    keyname =
      if hash.key?(key)
        key
      elsif hash.key?(string_key = key.to_s)
        string_key
      end
    if keyname
      result[key] = yield(type, key, hash[keyname])
    else
      resolve_missing_value(result, key, type)
    end
  end
  result
end