# requires Ruby 3.0 or newer
def configure(a:)
a
end
# *** before: ***
h_old = { a: 1 }
old_result = configure(h_old) # a lone trailing Hash was silently used as
#keywords
# *** in version 3.0: ***
h = { a: 1 }
# configure(h) # ArgumentError: missing keyword: :a
new_result = configure(**h) # an explicit ** is required now
puts new_result