class ActiveSupport::HashWithIndifferentAccess

def convert_value(value, conversion: nil)

def convert_value(value, conversion: nil)
  if value.is_a? Hash
    value.nested_under_indifferent_access
  elsif value.is_a?(Array)
    if conversion != :assignment || value.frozen?
      value = value.dup
    end
    value.map! { |e| convert_value(e, conversion: conversion) }
  else
    value
  end
end