module Hashie::Extensions::StrictKeyAccess

def key(value)

def key(value)
  super.tap do |result|
    if result.nil? && (!key?(result) || self[result] != value)
      raise KeyError, "key not found with value of #{value.inspect}"
    end
  end
end