module Hashie::Extensions::Coercion::InstanceMethods

def []=(key, value)

def []=(key, value)
  into = self.class.key_coercion(key) || self.class.value_coercion(value)
  if value && into
    if into.respond_to?(:coerce)
      value = into.coerce(value)
    else
      value = into.new(value)
    end
  end
  super(key, value)
end