why ```->(o) { {} }``` instead of a hash with default value? ```Hash.new({})```